import type { Address } from "viem"; import type { StrategyInfoResult } from "../../common-utils/utils/strategies/strategy-info/types.js"; import type { CuratorFilter, NotValidatedStrategy, StrategiesCMListByChain, Strategy, StrategyCreditManagerView, StrategyRecord } from "../../common-utils/utils/strategies/types.js"; import type { ExternalApy, ExtraCollateralAPY, GearAPYDetails, PointsInfo, PoolExtraApy, PoolPointsInfo } from "../../rewards/apy/index.js"; import type { BaseContractStateHuman, PartialRecord } from "../../sdk/index.js"; export interface Pool7DAgoState { pool: Address; dieselRate: bigint; } export interface Pools7DAgoStateHuman extends BaseContractStateHuman { dieselRate: bigint; } export interface FarmRewardInfo { address: Address; symbol: string; rewardToken: Address; rewardSymbol: string; token: Address; duration: bigint; finished: bigint; reward: bigint; balance: bigint; } export interface NetworkApyData { apyList: Record | undefined; extraCollateralAPYList: Record> | undefined; pointsList: Record> | undefined; extraCollateralPointsList: Record>> | undefined; poolRewardsList: Record>> | undefined; tokenExtraRewardsList: Record> | undefined; poolExternalAPYList: Record> | undefined; poolExtraAPYList: Record> | undefined; } export type GearStats = Omit; export interface ApySnapshotState { apy: NetworkApyData; gearStats: GearStats | null; timestamp: string; } export interface GetStrategyInfoSnapshotArgs { slippage: number; quotaReserve: number; curatorFilter: CuratorFilter; strategyPayloadsList: NotValidatedStrategy[] | undefined; showHiddenStrategies: boolean; } export interface StrategyInfoSnapshot { availableStrategies: StrategyRecord | null | Error; disabledStrategies: StrategyRecord; availableList: Strategy[] | null | Error; disabledList: Strategy[] | null | Error; cmsOfStrategiesByChain: StrategiesCMListByChain | undefined; strategiesInfo: Record>>; }