From 49c19d06c5e800e647af10746698405678192898 Mon Sep 17 00:00:00 2001 From: Oumar Fall Date: Tue, 3 Dec 2024 10:07:13 +0100 Subject: [PATCH] fix(converter): use rateAtTarget when parsing market --- packages/blue-api-sdk/src/converter.ts | 15 +- packages/blue-api-sdk/src/types.ts | 388 ++++++++++++++++++++++++- 2 files changed, 377 insertions(+), 26 deletions(-) diff --git a/packages/blue-api-sdk/src/converter.ts b/packages/blue-api-sdk/src/converter.ts index fbd41cae..a60fdfc2 100644 --- a/packages/blue-api-sdk/src/converter.ts +++ b/packages/blue-api-sdk/src/converter.ts @@ -13,7 +13,7 @@ import { VaultMarketPublicAllocatorConfig, VaultUtils, } from "@morpho-org/blue-sdk"; -import { Time, isDefined } from "@morpho-org/morpho-ts"; +import { isDefined } from "@morpho-org/morpho-ts"; import { Chain as BlueApiChain, @@ -59,7 +59,7 @@ export interface PartialBlueApiMarket | "supplyShares" | "timestamp" | "fee" - | "rateAtUTarget" + | "rateAtTarget" > >; } @@ -193,15 +193,6 @@ export class BlueSdkConverter { const fee = this.options.parseNumber(dto.state.fee, 18); const price = dto.collateralPrice ?? 1n; - const rateAtTarget = - // rateAtUTarget is not typed nullable, but it will be as soon as a non-compatible IRM is enabled. - dto.state.rateAtUTarget != null - ? // API rate at target is compounded over the year, while the Market rateAtTarget is per second. - //TODO use rateAtTarget directly per second - this.options.parseNumber(Math.log1p(dto.state.rateAtUTarget), 18) / - Time.s.from.y(1n) - : undefined; - return new Market({ config, totalSupplyAssets: dto.state.supplyAssets, @@ -211,7 +202,7 @@ export class BlueSdkConverter { lastUpdate: dto.state.timestamp, fee, price, - rateAtTarget, + rateAtTarget: dto.state.rateAtTarget ?? undefined, }); } diff --git a/packages/blue-api-sdk/src/types.ts b/packages/blue-api-sdk/src/types.ts index 74659057..895bbdc9 100644 --- a/packages/blue-api-sdk/src/types.ts +++ b/packages/blue-api-sdk/src/types.ts @@ -50,6 +50,8 @@ export type Asset = { /** Historical spot price in ETH */ historicalSpotPriceEth: Maybe>; id: Scalars["ID"]["output"]; + /** Token logo URI, for display purpose */ + logoURI: Maybe; name: Scalars["String"]["output"]; /** Current oracle price in USD, for display purpose. */ oraclePriceUsd: Maybe; @@ -180,7 +182,7 @@ export type Market = { /** Market concentrations */ concentration: Maybe; creationBlockNumber: Scalars["Int"]["output"]; - creationTimestamp: Maybe; + creationTimestamp: Scalars["BigInt"]["output"]; creatorAddress: Maybe; /** Current IRM curve at different utilization thresholds for display purpose */ currentIrmCurve: Maybe>; @@ -279,6 +281,10 @@ export type MarketConcentration = { /** Filtering options for markets. AND operator is used for multiple filters, while OR operator is used for multiple values in the same filter. */ export type MarketFilters = { + /** Filter by greater than or equal to given apy at target utilization */ + apyAtTarget_gte?: InputMaybe; + /** Filter by lower than or equal to given apy at target utilization */ + apyAtTarget_lte?: InputMaybe; /** Filter by greater than or equal to given borrow APY */ borrowApy_gte?: InputMaybe; /** Filter by lower than or equal to given borrow APY */ @@ -333,10 +339,6 @@ export type MarketFilters = { netSupplyApy_lte?: InputMaybe; /** Filter by market oracle address. Case insensitive. */ oracleAddress_in?: InputMaybe>; - /** Filter by greater than or equal to given rate at target utilization */ - rateAtUTarget_gte?: InputMaybe; - /** Filter by lower than or equal to given rate at target utilization */ - rateAtUTarget_lte?: InputMaybe; search?: InputMaybe; /** Filter by greater than or equal to given supply APY */ supplyApy_gte?: InputMaybe; @@ -374,6 +376,8 @@ export type MarketHistory = { allTimeNetSupplyApy: Maybe>; /** All Time Supply APY excluding rewards */ allTimeSupplyApy: Maybe>; + /** AdaptiveCurveIRM APY if utilization was at target */ + apyAtTarget: Maybe>; /** Borrow APY excluding rewards */ borrowApy: Maybe>; /** Amount borrowed on the market, in underlying units. Amount increases as interests accrue. */ @@ -412,6 +416,8 @@ export type MarketHistory = { netBorrowApy: Maybe>; /** Supply APY including rewards */ netSupplyApy: Maybe>; + /** Collateral price */ + price: Maybe>; /** Quarterly Borrow APY excluding rewards */ quarterlyBorrowApy: Maybe>; /** Quarterly Borrow APY including rewards */ @@ -420,7 +426,12 @@ export type MarketHistory = { quarterlyNetSupplyApy: Maybe>; /** Quarterly Supply APY excluding rewards */ quarterlySupplyApy: Maybe>; - /** Rate at utilization target */ + /** AdaptiveCurveIRM rate per second if utilization was at target */ + rateAtTarget: Maybe>; + /** + * AdaptiveCurveIRM APY if utilization was at target + * @deprecated Use `apyAtTarget` instead + */ rateAtUTarget: Maybe>; /** Supply APY excluding rewards */ supplyApy: Maybe>; @@ -470,6 +481,11 @@ export type MarketHistoryAllTimeSupplyApyArgs = { options?: InputMaybe; }; +/** Market state history */ +export type MarketHistoryApyAtTargetArgs = { + options?: InputMaybe; +}; + /** Market state history */ export type MarketHistoryBorrowApyArgs = { options?: InputMaybe; @@ -565,6 +581,11 @@ export type MarketHistoryNetSupplyApyArgs = { options?: InputMaybe; }; +/** Market state history */ +export type MarketHistoryPriceArgs = { + options?: InputMaybe; +}; + /** Market state history */ export type MarketHistoryQuarterlyBorrowApyArgs = { options?: InputMaybe; @@ -585,6 +606,11 @@ export type MarketHistoryQuarterlySupplyApyArgs = { options?: InputMaybe; }; +/** Market state history */ +export type MarketHistoryRateAtTargetArgs = { + options?: InputMaybe; +}; + /** Market state history */ export type MarketHistoryRateAtUTargetArgs = { options?: InputMaybe; @@ -713,6 +739,7 @@ export type MarketOracleInfo = { }; export enum MarketOrderBy { + ApyAtTarget = "ApyAtTarget", BorrowApy = "BorrowApy", BorrowAssets = "BorrowAssets", BorrowAssetsUsd = "BorrowAssetsUsd", @@ -750,8 +777,20 @@ export type MarketPosition = { collateralUsd: Maybe; /** Health factor of the position, computed as collateral value divided by borrow value. */ healthFactor: Maybe; + /** + * State history + * @deprecated Not indexed yet. + */ + historicalState: Maybe; id: Scalars["ID"]["output"]; market: Market; + /** Price variation required for the given position to reach its liquidation threshold (scaled by WAD) */ + priceVariationToLiquidationPrice: Maybe; + /** + * Current state + * @deprecated Not indexed yet. + */ + state: Maybe; /** Amount of loan asset supplied, in underlying token units. */ supplyAssets: Scalars["BigInt"]["output"]; /** Amount of loan asset supplied, in USD for display purpose. */ @@ -792,6 +831,60 @@ export type MarketPositionFilters = { userId_in?: InputMaybe>; }; +/** Market position state history */ +export type MarketPositionHistory = { + __typename?: "MarketPositionHistory"; + /** Borrow assets history. */ + borrowAssets: Maybe>; + /** Borrow shares history. */ + borrowShares: Maybe>; + /** Collateral history. */ + collateral: Maybe>; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) history, in loan assets. */ + pnl: Maybe>; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) history, in USD for display purposes. */ + pnlUsd: Maybe>; + /** Supply assets history. */ + supplyAssets: Maybe>; + /** Supply shares history. */ + supplyShares: Maybe>; +}; + +/** Market position state history */ +export type MarketPositionHistoryBorrowAssetsArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistoryBorrowSharesArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistoryCollateralArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistoryPnlArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistoryPnlUsdArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistorySupplyAssetsArgs = { + options?: InputMaybe; +}; + +/** Market position state history */ +export type MarketPositionHistorySupplySharesArgs = { + options?: InputMaybe; +}; + export enum MarketPositionOrderBy { BorrowShares = "BorrowShares", Collateral = "Collateral", @@ -799,6 +892,35 @@ export enum MarketPositionOrderBy { SupplyShares = "SupplyShares", } +/** Market position state */ +export type MarketPositionState = { + __typename?: "MarketPositionState"; + /** The last borrow assets used to update the position's P&L. */ + borrowAssets: Scalars["BigInt"]["output"]; + /** The last borrow shares used to update the position's P&L. */ + borrowShares: Scalars["BigInt"]["output"]; + /** The last collateral assets used to update the position's P&L. */ + collateral: Scalars["BigInt"]["output"]; + /** The last collateral asset USD price used to update the position's P&L in USD. */ + collateralAssetUsdPrice: Maybe; + /** The last collateral price used to update the position's P&L. */ + collateralPrice: Scalars["BigInt"]["output"]; + id: Scalars["ID"]["output"]; + /** The last loan asset USD price used to update the position's P&L in USD. */ + loanAssetUsdPrice: Maybe; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) of the position since its inception, in loan assets. */ + pnl: Scalars["BigInt"]["output"]; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) of the position since its inception, in USD for display purpose */ + pnlUsd: Maybe; + position: MarketPosition; + /** The last supply assets used to update the position's P&L. */ + supplyAssets: Scalars["BigInt"]["output"]; + /** The last supply shares used to update the position's P&L. */ + supplyShares: Scalars["BigInt"]["output"]; + /** Last update timestamp. */ + timestamp: Scalars["BigInt"]["output"]; +}; + /** Morpho Blue market state */ export type MarketState = { __typename?: "MarketState"; @@ -810,6 +932,8 @@ export type MarketState = { allTimeNetSupplyApy: Maybe; /** All Time Supply APY excluding rewards */ allTimeSupplyApy: Maybe; + /** Apy at target utilization */ + apyAtTarget: Scalars["Float"]["output"]; /** Borrow APY */ borrowApy: Scalars["Float"]["output"]; /** Amount borrowed on the market, in underlying units. Amount increases as interests accrue. */ @@ -828,6 +952,8 @@ export type MarketState = { dailyNetBorrowApy: Maybe; /** Daily Supply APY including rewards */ dailyNetSupplyApy: Maybe; + /** Variation of the collateral price over the last 24 hours */ + dailyPriceVariation: Maybe; /** Daily Supply APY excluding rewards */ dailySupplyApy: Maybe; /** Fee rate */ @@ -849,6 +975,8 @@ export type MarketState = { netBorrowApy: Maybe; /** Supply APY including rewards */ netSupplyApy: Maybe; + /** Collateral price */ + price: Maybe; /** Quarterly Borrow APY excluding rewards */ quarterlyBorrowApy: Maybe; /** Quarterly Borrow APY including rewards */ @@ -857,7 +985,12 @@ export type MarketState = { quarterlyNetSupplyApy: Maybe; /** Quarterly Supply APY excluding rewards */ quarterlySupplyApy: Maybe; - /** Borrow rate at target utilization */ + /** Rate at target utilization */ + rateAtTarget: Maybe; + /** + * Apy at target utilization + * @deprecated Use `apyAtTarget` instead + */ rateAtUTarget: Scalars["Float"]["output"]; /** Market state rewards */ rewards: Maybe>; @@ -1736,13 +1869,33 @@ export type User = { __typename?: "User"; address: Scalars["Address"]["output"]; chain: Chain; + historicalState: Array; id: Scalars["ID"]["output"]; marketPositions: Array; + state: UserState; tag: Maybe; transactions: Array; vaultPositions: Array; }; +/** User state history */ +export type UserHistory = { + __typename?: "UserHistory"; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of all the user's market positions, in USD. */ + marketsPnlUsd: Maybe>; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of all the user's vault positions, in USD. */ + vaultsPnlUsd: Maybe>; +}; + +/** User state */ +export type UserState = { + __typename?: "UserState"; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of all the user's market positions, in USD. */ + marketsPnlUsd: Maybe; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of all the user's vault positions, in USD. */ + vaultsPnlUsd: Maybe; +}; + /** Filtering options for users. AND operator is used for multiple filters, while OR operator is used for multiple values in the same filter. */ export type UsersFilters = { /** Filter by user address. Case insensitive. */ @@ -1781,7 +1934,7 @@ export type Vault = { asset: Asset; chain: Chain; creationBlockNumber: Scalars["Int"]["output"]; - creationTimestamp: Maybe; + creationTimestamp: Scalars["BigInt"]["output"]; creatorAddress: Maybe; /** * Daily vault APY @@ -1898,15 +2051,17 @@ export type VaultAllocator = { /** Vault APY aggregates */ export type VaultApyAggregates = { __typename?: "VaultApyAggregates"; - /** Average vault apy */ + /** Average vault apy excluding rewards, before deducting the performance fee. */ apy: Maybe; - /** Average vault APY including rewards */ + /** Average vault APY including rewards, after deducting the performance fee. */ netApy: Maybe; }; export type VaultFilters = { /** Filter by MetaMorpho vault address */ address_in?: InputMaybe>; + /** Filter out by MetaMorpho vault address */ + address_not_in?: InputMaybe>; /** Filter by greater than or equal to given APY. */ apy_gte?: InputMaybe; /** Filter by lower than or equal to given APY. */ @@ -1917,6 +2072,8 @@ export type VaultFilters = { assetId_in?: InputMaybe>; /** Filter by asset symbol */ assetSymbol_in?: InputMaybe>; + /** Filter by asset tags. */ + assetTags_in?: InputMaybe>; /** Filter by chain id */ chainId_in?: InputMaybe>; countryCode?: InputMaybe; @@ -1938,6 +2095,10 @@ export type VaultFilters = { netApy_lte?: InputMaybe; /** Filter by MetaMorpho current owner address */ ownerAddress_in?: InputMaybe>; + /** Filter by lower than or equal to given public allocator fee in dollar. */ + publicAllocatorFeeUsd_lte?: InputMaybe; + /** Filter by lower than or equal to given public allocator fee. */ + publicAllocatorFee_lte?: InputMaybe; search?: InputMaybe; /** Filter by MetaMorpho vault symbol */ symbol_in?: InputMaybe>; @@ -1959,22 +2120,44 @@ export type VaultFilters = { /** Meta-Morpho vault history */ export type VaultHistory = { __typename?: "VaultHistory"; + /** All Time Vault APY excluding rewards, before deducting the performance fee. */ + allTimeApy: Maybe>; + /** All Time Vault APY including rewards, after deducting the performance fee. */ + allTimeNetApy: Maybe>; /** Vault allocation on Morpho Blue markets. */ allocation: Maybe>; - /** Vault APY. */ + /** Vault APY excluding rewards, before deducting the performance fee. */ apy: Maybe>; /** Vault curator. */ curator: Maybe>; + /** Daily Vault APY excluding rewards, before deducting the performance fee. */ + dailyApy: Maybe>; + /** Daily Vault APY including rewards, after deducting the performance fee. */ + dailyNetApy: Maybe>; /** Vault performance fee. */ fee: Maybe>; /** Fee recipient. */ feeRecipient: Maybe>; /** Guardian. */ guardian: Maybe>; - /** Vault APY including rewards. */ + /** Monthly Vault APY excluding rewards, before deducting the performance fee. */ + monthlyApy: Maybe>; + /** Monthly Vault APY including rewards, after deducting the performance fee. */ + monthlyNetApy: Maybe>; + /** Vault APY including rewards, after deducting the performance fee. */ netApy: Maybe>; + /** Vault APY excluding rewards, after deducting the performance fee. */ + netApyWithoutRewards: Maybe>; /** Owner. */ owner: Maybe>; + /** Quarterly Vault APY excluding rewards, before deducting the performance fee. */ + quarterlyApy: Maybe>; + /** Quarterly Vault APY including rewards, after deducting the performance fee. */ + quarterlyNetApy: Maybe>; + /** Value of WAD shares in assets */ + sharePrice: Maybe>; + /** Value of WAD shares in USD */ + sharePriceUsd: Maybe>; /** Skim recipient. */ skimRecipient: Maybe>; /** Total value of vault holdings, in underlying token units. */ @@ -1983,6 +2166,24 @@ export type VaultHistory = { totalAssetsUsd: Maybe>; /** Vault shares total supply. */ totalSupply: Maybe>; + /** Weekly Vault APY excluding rewards, before deducting the performance fee. */ + weeklyApy: Maybe>; + /** Weekly Vault APY including rewards, after deducting the performance fee. */ + weeklyNetApy: Maybe>; + /** Yearly Vault APY excluding rewards, before deducting the performance fee. */ + yearlyApy: Maybe>; + /** Yearly Vault APY including rewards, after deducting the performance fee. */ + yearlyNetApy: Maybe>; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryAllTimeApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryAllTimeNetApyArgs = { + options?: InputMaybe; }; /** Meta-Morpho vault history */ @@ -1995,6 +2196,16 @@ export type VaultHistoryCuratorArgs = { options?: InputMaybe; }; +/** Meta-Morpho vault history */ +export type VaultHistoryDailyApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryDailyNetApyArgs = { + options?: InputMaybe; +}; + /** Meta-Morpho vault history */ export type VaultHistoryFeeArgs = { options?: InputMaybe; @@ -2010,16 +2221,51 @@ export type VaultHistoryGuardianArgs = { options?: InputMaybe; }; +/** Meta-Morpho vault history */ +export type VaultHistoryMonthlyApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryMonthlyNetApyArgs = { + options?: InputMaybe; +}; + /** Meta-Morpho vault history */ export type VaultHistoryNetApyArgs = { options?: InputMaybe; }; +/** Meta-Morpho vault history */ +export type VaultHistoryNetApyWithoutRewardsArgs = { + options?: InputMaybe; +}; + /** Meta-Morpho vault history */ export type VaultHistoryOwnerArgs = { options?: InputMaybe; }; +/** Meta-Morpho vault history */ +export type VaultHistoryQuarterlyApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryQuarterlyNetApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistorySharePriceArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistorySharePriceUsdArgs = { + options?: InputMaybe; +}; + /** Meta-Morpho vault history */ export type VaultHistorySkimRecipientArgs = { options?: InputMaybe; @@ -2040,6 +2286,26 @@ export type VaultHistoryTotalSupplyArgs = { options?: InputMaybe; }; +/** Meta-Morpho vault history */ +export type VaultHistoryWeeklyApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryWeeklyNetApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryYearlyApyArgs = { + options?: InputMaybe; +}; + +/** Meta-Morpho vault history */ +export type VaultHistoryYearlyNetApyArgs = { + options?: InputMaybe; +}; + /** Vault Liquidity */ export type VaultLiquidity = { __typename?: "VaultLiquidity"; @@ -2071,6 +2337,8 @@ export enum VaultOrderBy { Address = "Address", Apy = "Apy", Curator = "Curator", + DailyApy = "DailyApy", + DailyNetApy = "DailyNetApy", Fee = "Fee", Name = "Name", NetApy = "NetApy", @@ -2096,9 +2364,19 @@ export type VaultPosition = { assets: Scalars["BigInt"]["output"]; /** Value of vault shares held, in USD for display purpose. */ assetsUsd: Maybe; + /** + * State history + * @deprecated Not indexed yet. + */ + historicalState: Maybe; id: Scalars["ID"]["output"]; /** Amount of vault shares */ shares: Scalars["BigInt"]["output"]; + /** + * Current state + * @deprecated Not indexed yet. + */ + state: Maybe; user: User; vault: Vault; }; @@ -2122,10 +2400,62 @@ export type VaultPositionFilters = { vaultId_in?: InputMaybe>; }; +/** Vault position state history */ +export type VaultPositionHistory = { + __typename?: "VaultPositionHistory"; + /** Value of the position since its inception, in underlying assets. */ + assets: Maybe>; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of the position since its inception, in underlying assets. */ + pnl: Maybe>; + /** Profit (from the underlying asset's price variation) & Loss (from bad debt socialization) of the position since its inception, in USD for display purposes. */ + pnlUsd: Maybe>; + /** Value of the position since its inception, in vault shares. */ + shares: Maybe>; +}; + +/** Vault position state history */ +export type VaultPositionHistoryAssetsArgs = { + options?: InputMaybe; +}; + +/** Vault position state history */ +export type VaultPositionHistoryPnlArgs = { + options?: InputMaybe; +}; + +/** Vault position state history */ +export type VaultPositionHistoryPnlUsdArgs = { + options?: InputMaybe; +}; + +/** Vault position state history */ +export type VaultPositionHistorySharesArgs = { + options?: InputMaybe; +}; + export enum VaultPositionOrderBy { Shares = "Shares", } +/** Vault position state */ +export type VaultPositionState = { + __typename?: "VaultPositionState"; + /** The last asset USD price used to update the position's P&L in USD. */ + assetUsdPrice: Maybe; + id: Scalars["ID"]["output"]; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) of the position since its inception, in loan assets. */ + pnl: Scalars["BigInt"]["output"]; + /** Profit (from the collateral's price variation) & Loss (from the loan interest) of the position since its inception, in USD for display purpose */ + pnlUsd: Maybe; + position: VaultPosition; + /** The last supply assets used to update the position's P&L. */ + supplyAssets: Scalars["BigInt"]["output"]; + /** The last supply shares used to update the position's P&L. */ + supplyShares: Scalars["BigInt"]["output"]; + /** Last update timestamp. */ + timestamp: Scalars["BigInt"]["output"]; +}; + /** Vault reallocate */ export type VaultReallocate = { __typename?: "VaultReallocate"; @@ -2184,12 +2514,20 @@ export enum VaultReallocateType { /** MetaMorpho vault state */ export type VaultState = { __typename?: "VaultState"; + /** All Time Vault APY excluding rewards, before deducting the performance fee. */ + allTimeApy: Maybe; + /** All Time Vault APY including rewards, after deducting the performance fee. */ + allTimeNetApy: Maybe; /** Vault allocation on Morpho Blue markets. */ allocation: Maybe>; - /** Vault APY. */ + /** Vault APY excluding rewards, before deducting the performance fee. */ apy: Scalars["Float"]["output"]; /** Vault curator address. */ curator: Scalars["Address"]["output"]; + /** Daily Vault APY excluding rewards, before deducting the performance fee. */ + dailyApy: Maybe; + /** Daily Vault APY including rewards, after deducting the performance fee. */ + dailyNetApy: Maybe; /** Vault performance fee. */ fee: Scalars["Float"]["output"]; /** Fee recipient address. */ @@ -2199,8 +2537,14 @@ export type VaultState = { id: Scalars["ID"]["output"]; /** Stores the total assets managed by this vault when the fee was last accrued, in underlying token units. */ lastTotalAssets: Scalars["BigInt"]["output"]; - /** Vault APY including rewards. */ + /** Monthly Vault APY excluding rewards, before deducting the performance fee. */ + monthlyApy: Maybe; + /** Monthly Vault APY including rewards, after deducting the performance fee. */ + monthlyNetApy: Maybe; + /** Vault APY including rewards, after deducting the performance fee. */ netApy: Maybe; + /** Vault APY excluding rewards, after deducting the performance fee. */ + netApyWithoutRewards: Scalars["Float"]["output"]; /** Owner address. */ owner: Scalars["Address"]["output"]; /** Pending guardian address. */ @@ -2213,8 +2557,16 @@ export type VaultState = { pendingTimelock: Maybe; /** Pending timelock apply timestamp. */ pendingTimelockValidAt: Maybe; + /** Quarterly Vault APY excluding rewards, before deducting the performance fee. */ + quarterlyApy: Maybe; + /** Quarterly Vault APY including rewards, after deducting the performance fee. */ + quarterlyNetApy: Maybe; /** Vault state rewards */ rewards: Maybe>; + /** Value of WAD shares in assets */ + sharePrice: Maybe; + /** Value of WAD shares in USD */ + sharePriceUsd: Maybe; /** Skim recipient address. */ skimRecipient: Scalars["Address"]["output"]; /** Timelock in seconds. */ @@ -2227,6 +2579,14 @@ export type VaultState = { totalAssetsUsd: Maybe; /** Vault shares total supply. */ totalSupply: Scalars["BigInt"]["output"]; + /** Weekly Vault APY excluding rewards, before deducting the performance fee. */ + weeklyApy: Maybe; + /** Weekly Vault APY including rewards, after deducting the performance fee. */ + weeklyNetApy: Maybe; + /** Yearly Vault APY excluding rewards, before deducting the performance fee. */ + yearlyApy: Maybe; + /** Yearly Vault APY including rewards, after deducting the performance fee. */ + yearlyNetApy: Maybe; }; /** MetaMorpho vault state rewards */