Snapshot Types

export type VoltSnapshot = {
// IDs / account addresses
globalId: string;
voltVaultId: string;
extraVaultDataId: string;
vaultAuthority: string;
// mints
quoteMint: string;
underlyingMint: string;
depositTokenMint: string;
// share token
shareTokenMint: string;
shareTokenSymbol: string;
shareTokenDecimals: number;
// token prices
shareTokenPrice: number;
depositTokenPrice: number;
// total value locked
tvlUsd: number;
tvlDepositToken: number;
// capacities
capacityUsd: number;
capacityDepositToken: number;
// pools
depositPool: string;
premiumPool: string;
// serum
spotSerumMarketId: string;
// deposit token. The token user actually deposits into the volt
depositTokenSymbol: string;
depositTokenCoingeckoId: string;
// the underlying asset used in volt 1/2 (options volts)
underlyingTokenSymbol: string;
underlyingTokenCoingeckoId: string;
// volt number (as shown in the UI)
voltType: number;
latestEpochYield: number;
// (percentage yield for various time periods)
weeklyPy: number;
monthlyPy: number;
// without compounding
apr: number;
apy: number;
apyAfterFees: number;
// fees in basis points (0.01%)
performanceFeeRate: number;
withdrawalFeeRate: number;
// does this volt have a non-weekly epoch
abnormalEpochLength?: number;
// is this a high voltage volt?
isVoltage: boolean;
// is this volt in circuits (DAO treasury management)
isInCircuits: boolean;
// high voltage global id
highVoltage: string;
// in milliseconds
nextAutocompoundingTime: number;
//// Strategy Details ////
// volt 1/2
lastTradedOption: string;
export type FriktionSnapshot = {
updateTime: number;
totalTvlUSD: number;
coinsByCoingeckoId: Record<string, number>;
sharePricesByGlobalId: Record<string, number>;
pricesByCoingeckoId: Record<string, number>;
depositTokenByGlobalId: Record<string, number>;
usdValueByGlobalId: Record<string, number>;
globalIdToDepositTokenCoingeckoId: Record<string, string>;
apyByGlobalId: Record<string, number>;
// eslint-disable-next-line @typescript-eslint/ban-types
allMainnetVolts: (VoltSnapshot | {})[];
// eslint-disable-next-line @typescript-eslint/ban-types
allDevnetVolts: (VoltSnapshot | {})[];