From 1df04edeeabdfa2f8fdf9cea9c7c00a6e32c0cad Mon Sep 17 00:00:00 2001 From: dfkadyr Date: Mon, 25 Dec 2023 16:22:43 +0300 Subject: [PATCH] [new apy]: rename getSnapshots, PR improves --- README.md | 12 ++-- src/graphql/backend/vault/index.ts | 6 +- ...tsQuery.graphql => snapshotsQuery.graphql} | 6 +- .../daySnapshots/daySnapshotsQuery.graphql | 15 ----- src/graphql/subgraph/daySnapshots/index.ts | 2 - src/graphql/subgraph/index.ts | 1 - src/methods/vault/index.ts | 4 +- .../vault/requests/getDaySnapshots/index.ts | 39 ------------ .../modifyDaySnapshots.spec.ts | 61 ------------------- .../getDaySnapshots/modifyDaySnapshots.ts | 35 ----------- .../vault/requests/getDaySnapshots/types.ts | 9 --- .../vault/requests/getSnapshots/index.ts | 33 ++++++++++ .../modifySnapshots.spec.ts} | 24 ++++---- .../requests/getSnapshots/modifySnapshots.ts | 35 +++++++++++ .../vault/requests/getSnapshots/types.ts | 9 +++ .../vault/requests/getVaultSnapshots/index.ts | 33 ---------- .../getVaultSnapshots/modifyVaultSnapshots.ts | 35 ----------- .../vault/requests/getVaultSnapshots/types.ts | 9 --- 18 files changed, 103 insertions(+), 265 deletions(-) rename src/graphql/backend/vault/{vaultSnapshotsQuery.graphql => snapshotsQuery.graphql} (61%) delete mode 100644 src/graphql/subgraph/daySnapshots/daySnapshotsQuery.graphql delete mode 100644 src/graphql/subgraph/daySnapshots/index.ts delete mode 100644 src/methods/vault/requests/getDaySnapshots/index.ts delete mode 100644 src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.spec.ts delete mode 100644 src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.ts delete mode 100644 src/methods/vault/requests/getDaySnapshots/types.ts create mode 100644 src/methods/vault/requests/getSnapshots/index.ts rename src/methods/vault/requests/{getVaultSnapshots/modifyVaultSnapshots.spec.ts => getSnapshots/modifySnapshots.spec.ts} (58%) create mode 100644 src/methods/vault/requests/getSnapshots/modifySnapshots.ts create mode 100644 src/methods/vault/requests/getSnapshots/types.ts delete mode 100644 src/methods/vault/requests/getVaultSnapshots/index.ts delete mode 100644 src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.ts delete mode 100644 src/methods/vault/requests/getVaultSnapshots/types.ts diff --git a/README.md b/README.md index ae764ad8..f79ce15f 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ const sdk = new StakeWiseSDK({ network: Network.Mainnet }) | **Vault** | **osToken** | **Utils** | |------|-------------|------| | [sdk.vault.getStakerActions](#sdkvaultgetstakeractions) | [sdk.osToken.getBurnAmount](#sdkostokengetburnamount) | [sdk.utils.getRewardsPerYear](#sdkutilsgetrewardsperyear) | -| [sdk.vault.getVaultSnapshots](#sdkvaultgetvaultsnapshots) | [sdk.osToken.getHealthFactor](#sdkostokengethealthfactor) | [sdk.utils.getSwiseUsdPrice](#sdkutilsgetswiseusdprice) | +| [sdk.vault.getSnapshots](#sdkvaultgetsnapshots) | [sdk.osToken.getHealthFactor](#sdkostokengethealthfactor) | [sdk.utils.getSwiseUsdPrice](#sdkutilsgetswiseusdprice) | | [sdk.vault.getExitQueuePositions](#sdkvaultgetexitqueuepositions) | [sdk.osToken.getAPY](#sdkostokengetapy) | [sdk.utils.getTransactions](#sdkutilsgettransactions) | | [sdk.vault.getValidators](#sdkvaultgetvalidators) | [sdk.osToken.getPosition](#sdkostokengetposition) | | [sdk.vault.getVault](#sdkvaultgetvault) | [sdk.osToken.getMaxMint](#sdkostokengetmaxmint) | @@ -164,7 +164,7 @@ await sdk.vault.getStakerActions({ }) ``` --- -### `sdk.vault.getVaultSnapshots` +### `sdk.vault.getSnapshots` #### Description: @@ -182,14 +182,14 @@ TVL and APY snapshots for the vault. With the help of this data it is possible t #### Returns: ```ts -type VaultSnapshot = { +type Snapshot = { APY: number TVL: string } type Output = { - days: Record - first: VaultSnapshot + days: Record + first: Snapshot } ``` @@ -201,7 +201,7 @@ type Output = { #### Example: ```ts -await sdk.vault.getVaultSnapshots({ +await sdk.vault.getSnapshots({ vaultAddress: '0x...', dateFrom: 1695730032793, }) diff --git a/src/graphql/backend/vault/index.ts b/src/graphql/backend/vault/index.ts index 81097a9b..18d9b460 100644 --- a/src/graphql/backend/vault/index.ts +++ b/src/graphql/backend/vault/index.ts @@ -1,8 +1,8 @@ +export { fetchSnapshotsQuery } from './snapshotsQuery.graphql' +export type { SnapshotsQueryPayload, SnapshotsQueryVariables } from './snapshotsQuery.graphql' + export { fetchValidatorsQuery } from './validatorsQuery.graphql' export type { ValidatorsQueryPayload, ValidatorsQueryVariables } from './validatorsQuery.graphql' export { fetchUserRewardsQuery } from './userRewardsQuery.graphql' export type { UserRewardsQueryPayload, UserRewardsQueryVariables } from './userRewardsQuery.graphql' - -export { fetchVaultSnapshotsQuery } from './vaultSnapshotsQuery.graphql' -export type { VaultSnapshotsQueryPayload, VaultSnapshotsQueryVariables } from './vaultSnapshotsQuery.graphql' diff --git a/src/graphql/backend/vault/vaultSnapshotsQuery.graphql b/src/graphql/backend/vault/snapshotsQuery.graphql similarity index 61% rename from src/graphql/backend/vault/vaultSnapshotsQuery.graphql rename to src/graphql/backend/vault/snapshotsQuery.graphql index 8e202cf0..744b9b7b 100644 --- a/src/graphql/backend/vault/vaultSnapshotsQuery.graphql +++ b/src/graphql/backend/vault/snapshotsQuery.graphql @@ -1,4 +1,4 @@ -query VaultSnapshots($vaultAddress: String! $dateFrom: DateAsTimestamp! $dateTo: DateAsTimestamp $first: Int) { +query Snapshots($vaultAddress: String! $dateFrom: DateAsTimestamp! $dateTo: DateAsTimestamp $first: Int) { vaultSnapshots( vaultAddress: $vaultAddress dateFrom: $dateFrom @@ -6,12 +6,12 @@ query VaultSnapshots($vaultAddress: String! $dateFrom: DateAsTimestamp! $dateT first: $first ) { date, - rewardPerAsset: weeklyApy + weeklyApy totalAssets } firstSnapshots: vaultSnapshots(vaultAddress: $vaultAddress, dateFrom: $dateFrom, first: 1) { date totalAssets - rewardPerAsset: weeklyApy + weeklyApy } } diff --git a/src/graphql/subgraph/daySnapshots/daySnapshotsQuery.graphql b/src/graphql/subgraph/daySnapshots/daySnapshotsQuery.graphql deleted file mode 100644 index a1e553f0..00000000 --- a/src/graphql/subgraph/daySnapshots/daySnapshotsQuery.graphql +++ /dev/null @@ -1,15 +0,0 @@ -query DaySnapshots( - $where: DaySnapshot_filter - $whereFirstSnapshots: DaySnapshot_filter -) { - daySnapshots(where: $where) { - date - totalAssets - rewardPerAsset - } - firstSnapshots: daySnapshots(where: $whereFirstSnapshots, first: 1) { - date - totalAssets - rewardPerAsset - } -} diff --git a/src/graphql/subgraph/daySnapshots/index.ts b/src/graphql/subgraph/daySnapshots/index.ts deleted file mode 100644 index 504e812c..00000000 --- a/src/graphql/subgraph/daySnapshots/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { fetchDaySnapshotsQuery } from './daySnapshotsQuery.graphql' -export type { DaySnapshotsQueryPayload, DaySnapshotsQueryVariables } from './daySnapshotsQuery.graphql' diff --git a/src/graphql/subgraph/index.ts b/src/graphql/subgraph/index.ts index 1ba85aa2..61d96015 100644 --- a/src/graphql/subgraph/index.ts +++ b/src/graphql/subgraph/index.ts @@ -1,6 +1,5 @@ export * as vault from './vault' export * as osToken from './osToken' export * as exitQueue from './exitQueue' -export * as daySnapshots from './daySnapshots' export * as transactions from './transactions' export * as allocatorActions from './allocatorActions' diff --git a/src/methods/vault/index.ts b/src/methods/vault/index.ts index e7144897..887e0dad 100644 --- a/src/methods/vault/index.ts +++ b/src/methods/vault/index.ts @@ -7,7 +7,7 @@ import getStakeBalance from './requests/getStakeBalance' import getHarvestParams from './requests/getHarvestParams' import getStakerActions from './requests/getStakerActions' import getExitQueuePositions from './requests/getExitQueuePositions' -import getVaultSnapshots from './requests/getVaultSnapshots' +import getSnapshots from './requests/getSnapshots' // Transactions import { deposit } from './transactions/deposit' @@ -24,7 +24,7 @@ export default { getStakeBalance, getHarvestParams, getStakerActions, - getVaultSnapshots, + getSnapshots, getExitQueuePositions, }, transactions: { diff --git a/src/methods/vault/requests/getDaySnapshots/index.ts b/src/methods/vault/requests/getDaySnapshots/index.ts deleted file mode 100644 index 7eb6c601..00000000 --- a/src/methods/vault/requests/getDaySnapshots/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -import type { DaySnapshotsQueryVariables } from '../../../../graphql/subgraph/daySnapshots' -import { apiUrls, validateArgs } from '../../../../utils' -import modifyDaySnapshots from './modifyDaySnapshots' -import { ModifiedDaySnapshots } from './types' -import graphql from '../../../../graphql' - - -type GetDaySnapshotsInput = { - options: StakeWise.Options - unixStartOfDay: DaySnapshotsQueryVariables['where']['date_gte'] - vaultAddress: DaySnapshotsQueryVariables['where']['vault_']['id'] -} - -const getDaySnapshots = async (input: GetDaySnapshotsInput) => { - const { options, vaultAddress, unixStartOfDay } = input - - validateArgs.address({ vaultAddress }) - validateArgs.number({ unixStartOfDay }) - - const data = await graphql.subgraph.daySnapshots.fetchDaySnapshotsQuery({ - url: apiUrls.getSubgraphqlUrl(options), - variables: { - where: { - date_gte: unixStartOfDay, - vault_: { id: vaultAddress.toLowerCase() }, - }, - whereFirstSnapshots: { - date_lt: unixStartOfDay, - vault_: { id: vaultAddress.toLowerCase() }, - }, - } as DaySnapshotsQueryVariables, - modifyResult: modifyDaySnapshots, - }) - - return data -} - - -export default getDaySnapshots diff --git a/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.spec.ts b/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.spec.ts deleted file mode 100644 index a6284c53..00000000 --- a/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.spec.ts +++ /dev/null @@ -1,61 +0,0 @@ -import type { DaySnapshotsQueryPayload } from '../../../../graphql/subgraph/daySnapshots' -import modifyDaySnapshots, { modifyDaySnapshot } from './modifyDaySnapshots' - - -describe('modifyDaySnapshot and modifyDaySnapshots functions', () => { - const sampleInput: DaySnapshotsQueryPayload = { - daySnapshots: [ - { - date: 1694908800, - totalAssets: '344379922475148628745', - rewardPerAsset: '0.00005615254142281017424596658035098357', - }, - { - date: 1694995200, - totalAssets: '344382187878289278175', - rewardPerAsset: '0.000003032318481984842735504620061173766', - }, - ], - firstSnapshots: [ - { - date: 1694908800, - totalAssets: '344379922475148628745', - rewardPerAsset: '0.00005615254142281017424596658035098357', - }, - ], - } - - it('should correctly modify a single day snapshot', () => { - const daySnapshot = sampleInput.daySnapshots[0] - - const result = modifyDaySnapshot(daySnapshot) - - expect(result).toEqual({ - APY: Number(daySnapshot.rewardPerAsset) * 365 * 100, - TVL: 344.37992247514865, - }) - }) - - it('should correctly modify multiple day snapshots', () => { - const expectedResult = { - days: { - 1694908800: { - APY: Number(sampleInput.daySnapshots[0].rewardPerAsset) * 365 * 100, - TVL: 344.37992247514865, - }, - 1694995200: { - APY: Number(sampleInput.daySnapshots[1].rewardPerAsset) * 365 * 100, - TVL: 344.3821878782893, - }, - }, - first: { - APY: Number(sampleInput.firstSnapshots[0].rewardPerAsset) * 365 * 100, - TVL: 344.37992247514865, - }, - } - - const result = modifyDaySnapshots(sampleInput) - - expect(result).toEqual(expectedResult) - }) -}) diff --git a/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.ts b/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.ts deleted file mode 100644 index abb67182..00000000 --- a/src/methods/vault/requests/getDaySnapshots/modifyDaySnapshots.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { formatEther } from 'ethers' - -import { ModifiedDaySnapshots } from './types' -import type { DaySnapshotsQueryPayload } from '../../../../graphql/subgraph/daySnapshots' - - -export const modifyDaySnapshot = (daySnapshot: Omit) => { - const apyValue = Number(daySnapshot.rewardPerAsset) || 0 - const tvlValue = String(daySnapshot.totalAssets) || '0' - - return { - APY: apyValue * 365 * 100, - TVL: Number(formatEther(tvlValue)), - } -} - -const modifyDaySnapshots = (input: DaySnapshotsQueryPayload): ModifiedDaySnapshots => { - const days = input.daySnapshots.reduce((acc, { date, ...rest }) => { - acc[date] = modifyDaySnapshot(rest) - - return acc - }, {} as ModifiedDaySnapshots['days']) - - const first = input.firstSnapshots[0] - ? modifyDaySnapshot(input.firstSnapshots[0]) - : null - - return { - days, - first, - } -} - - -export default modifyDaySnapshots diff --git a/src/methods/vault/requests/getDaySnapshots/types.ts b/src/methods/vault/requests/getDaySnapshots/types.ts deleted file mode 100644 index 089b885f..00000000 --- a/src/methods/vault/requests/getDaySnapshots/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -type DaySnapshot = { - APY: number - TVL: number -} - -export type ModifiedDaySnapshots = { - days: Record - first: DaySnapshot | null -} diff --git a/src/methods/vault/requests/getSnapshots/index.ts b/src/methods/vault/requests/getSnapshots/index.ts new file mode 100644 index 00000000..8d9c5efe --- /dev/null +++ b/src/methods/vault/requests/getSnapshots/index.ts @@ -0,0 +1,33 @@ +import type { SnapshotsQueryVariables } from '../../../../graphql/backend/vault' +import { apiUrls, validateArgs } from '../../../../utils' +import modifySnapshots from './modifySnapshots' +import graphql from '../../../../graphql' +import { ModifiedSnapshots } from './types' + + +type GetSnapshotsInput = { + options: StakeWise.Options + vaultAddress: SnapshotsQueryVariables['vaultAddress'] + dateFrom: SnapshotsQueryVariables['dateFrom'] +} + +const getSnapshots = async (input: GetSnapshotsInput) => { + const { options, vaultAddress, dateFrom } = input + + validateArgs.address({ vaultAddress }) + validateArgs.string({ dateFrom }) + + const data = await graphql.backend.vault.fetchSnapshotsQuery({ + url: apiUrls.getBackendUrl(options), + variables: { + vaultAddress: vaultAddress.toLowerCase(), + dateFrom, + } as SnapshotsQueryVariables, + modifyResult: modifySnapshots, + }) + + return data +} + + +export default getSnapshots diff --git a/src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.spec.ts b/src/methods/vault/requests/getSnapshots/modifySnapshots.spec.ts similarity index 58% rename from src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.spec.ts rename to src/methods/vault/requests/getSnapshots/modifySnapshots.spec.ts index aca23d9a..c8320617 100644 --- a/src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.spec.ts +++ b/src/methods/vault/requests/getSnapshots/modifySnapshots.spec.ts @@ -1,26 +1,26 @@ -import type { VaultSnapshotsQueryPayload } from '../../../../graphql/backend/vault' -import modifyVaultSnapshots, { modifyVaultSnapshot } from './modifyVaultSnapshots' +import type { SnapshotsQueryPayload } from '../../../../graphql/backend/vault' +import modifySnapshots, { modifySnapshot } from './modifySnapshots' describe('modifyVaultSnapshot and modifyVaultSnapshots functions', () => { - const sampleInput: VaultSnapshotsQueryPayload = { + const sampleInput: SnapshotsQueryPayload = { vaultSnapshots: [ { date: '1700870400', totalAssets: '3906945363776011390139', - rewardPerAsset: '1.8793377858', + weeklyApy: '1.8793377858', }, { date: '1700956800', totalAssets: '3907107984571011390139', - rewardPerAsset: '1.6767640360', + weeklyApy: '1.6767640360', }, ], firstSnapshots: [ { date: '1700870400', totalAssets: '3906945363776011390139', - rewardPerAsset: '1.8793377858', + weeklyApy: '1.8793377858', }, ], } @@ -28,10 +28,10 @@ describe('modifyVaultSnapshot and modifyVaultSnapshots functions', () => { it('should correctly modify a single vault snapshot', () => { const vaultSnapshot = sampleInput.vaultSnapshots[0] - const result = modifyVaultSnapshot(vaultSnapshot) + const result = modifySnapshot(vaultSnapshot) expect(result).toEqual({ - APY: Number(vaultSnapshot.rewardPerAsset), + APY: Number(vaultSnapshot.weeklyApy), TVL: 3906.945363776011, }) }) @@ -40,21 +40,21 @@ describe('modifyVaultSnapshot and modifyVaultSnapshots functions', () => { const expectedResult = { days: { 1700870400: { - APY: Number(sampleInput.vaultSnapshots[0].rewardPerAsset), + APY: Number(sampleInput.vaultSnapshots[0].weeklyApy), TVL: 3906.945363776011, }, 1700956800: { - APY: Number(sampleInput.vaultSnapshots[1].rewardPerAsset), + APY: Number(sampleInput.vaultSnapshots[1].weeklyApy), TVL: 3907.1079845710115, }, }, first: { - APY: Number(sampleInput.firstSnapshots[0].rewardPerAsset), + APY: Number(sampleInput.firstSnapshots[0].weeklyApy), TVL: 3906.945363776011, }, } - const result = modifyVaultSnapshots(sampleInput) + const result = modifySnapshots(sampleInput) expect(result).toEqual(expectedResult) }) diff --git a/src/methods/vault/requests/getSnapshots/modifySnapshots.ts b/src/methods/vault/requests/getSnapshots/modifySnapshots.ts new file mode 100644 index 00000000..7ad0bdf0 --- /dev/null +++ b/src/methods/vault/requests/getSnapshots/modifySnapshots.ts @@ -0,0 +1,35 @@ +import { formatEther } from 'ethers' + +import { ModifiedSnapshots } from './types' +import type { SnapshotsQueryPayload } from '../../../../graphql/backend/vault' + + +export const modifySnapshot = (vaultSnapshot: Omit) => { + const apyValue = Number(vaultSnapshot.weeklyApy) || 0 + const tvlValue = vaultSnapshot.totalAssets || '0' + + return { + APY: apyValue, + TVL: Number(formatEther(tvlValue)), + } +} + +const modifySnapshots = (input: SnapshotsQueryPayload): ModifiedSnapshots => { + const days = input.vaultSnapshots.reduce((acc, { date, ...rest }) => { + acc[Number(date)] = modifySnapshot(rest) + + return acc + }, {} as ModifiedSnapshots['days']) + + const first = input.firstSnapshots[0] + ? modifySnapshot(input.firstSnapshots[0]) + : null + + return { + days, + first, + } +} + + +export default modifySnapshots diff --git a/src/methods/vault/requests/getSnapshots/types.ts b/src/methods/vault/requests/getSnapshots/types.ts new file mode 100644 index 00000000..0a5beb01 --- /dev/null +++ b/src/methods/vault/requests/getSnapshots/types.ts @@ -0,0 +1,9 @@ +type Snapshot = { + APY: number + TVL: number +} + +export type ModifiedSnapshots = { + days: Record + first: Snapshot | null +} diff --git a/src/methods/vault/requests/getVaultSnapshots/index.ts b/src/methods/vault/requests/getVaultSnapshots/index.ts deleted file mode 100644 index 853c4b42..00000000 --- a/src/methods/vault/requests/getVaultSnapshots/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { VaultSnapshotsQueryVariables } from '../../../../graphql/backend/vault' -import { apiUrls, validateArgs } from '../../../../utils' -import modifyVaultSnapshots from './modifyVaultSnapshots' -import graphql from '../../../../graphql' -import { ModifiedVaultSnapshots } from './types' - - -type GetVaultSnapshotsInput = { - options: StakeWise.Options - vaultAddress: VaultSnapshotsQueryVariables['vaultAddress'] - dateFrom: VaultSnapshotsQueryVariables['dateFrom'] -} - -const getVaultSnapshots = async (input: GetVaultSnapshotsInput) => { - const { options, vaultAddress, dateFrom } = input - - validateArgs.address({ vaultAddress }) - validateArgs.string({ dateFrom }) - - const data = await graphql.backend.vault.fetchVaultSnapshotsQuery({ - url: apiUrls.getBackendUrl(options), - variables: { - vaultAddress: vaultAddress.toLowerCase(), - dateFrom, - } as VaultSnapshotsQueryVariables, - modifyResult: modifyVaultSnapshots, - }) - - return data -} - - -export default getVaultSnapshots diff --git a/src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.ts b/src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.ts deleted file mode 100644 index 4b16cd27..00000000 --- a/src/methods/vault/requests/getVaultSnapshots/modifyVaultSnapshots.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { formatEther } from 'ethers' - -import { ModifiedVaultSnapshots } from './types' -import type { VaultSnapshotsQueryPayload } from '../../../../graphql/backend/vault' - - -export const modifyVaultSnapshot = (vaultSnapshot: Omit) => { - const apyValue = Number(vaultSnapshot.rewardPerAsset) || 0 - const tvlValue = String(vaultSnapshot.totalAssets) || '0' - - return { - APY: apyValue, - TVL: Number(formatEther(tvlValue)), - } -} - -const modifyVaultSnapshots = (input: VaultSnapshotsQueryPayload): ModifiedVaultSnapshots => { - const days = input.vaultSnapshots.reduce((acc, { date, ...rest }) => { - acc[Number(date)] = modifyVaultSnapshot(rest) - - return acc - }, {} as ModifiedVaultSnapshots['days']) - - const first = input.firstSnapshots[0] - ? modifyVaultSnapshot(input.firstSnapshots[0]) - : null - - return { - days, - first, - } -} - - -export default modifyVaultSnapshots diff --git a/src/methods/vault/requests/getVaultSnapshots/types.ts b/src/methods/vault/requests/getVaultSnapshots/types.ts deleted file mode 100644 index b5b0dbad..00000000 --- a/src/methods/vault/requests/getVaultSnapshots/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -type VaultSnapshot = { - APY: number - TVL: number -} - -export type ModifiedVaultSnapshots = { - days: Record - first: VaultSnapshot | null -}