UNPKG

0xtrails

Version:

SDK for Trails

63 lines 1.58 kB
import { Address, PublicClient } from 'viem'; export interface VaultConfig { address: Address; name: string; chainId: number; asset: { symbol: string; name: string; address: Address; decimals: number; logoUrl?: string; }; } export interface Pool { id: string; name: string; protocol: string; chainId: number; apy: number; tvl: number; token: { symbol: string; name: string; address: string; decimals: number; logoUrl?: string; }; depositAddress: string; isActive: boolean; poolUrl?: string; protocolUrl?: string; wrappedTokenGatewayAddress?: string; } /** * Fetch vault data from Morpho GraphQL API */ export declare function fetchVaultData(vaultAddress: Address, chainId: number): Promise<any | null>; /** * Calculate vault APY from SDK data */ export declare function calculateVaultApy(vault: any): number; /** * Calculate rewards APR from API data */ export declare function calculateRewardsApr(vaultData: any): number; /** * Hook to fetch Morpho vaults */ export declare function useMorphoVaults(): { data: Pool[]; loading: boolean; error: Error | null; }; /** * Get all vaults for a specific chain */ export declare function getVaultsForChain(chainId: number, _publicClient: PublicClient): Promise<Pool[]>; /** * Get all vaults across all chains */ export declare function getAllVaults(_publicClient: PublicClient): Promise<Pool[]>; export default useMorphoVaults; //# sourceMappingURL=morpho.d.ts.map