UNPKG

@augustdigital/vaults

Version:

JS SDK for web3 interactions with the August Digital Lending Pools

122 lines (121 loc) 3.87 kB
import { IAddress, IContractRunner, INormalizedNumber, IPoolFunctions, ITokenizedVault, IVault } from '@augustdigital/types'; export declare const VAULT_AgoraAUSD = "0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f"; export declare const SUBACCOUNT_CALEB = "0xFff71B0b66f076C60Fa2f176a34a6EA709ccF21B"; export declare const MULTI_ASSET_VAULTS: string[]; export declare function promiseSettle<T>(promises: Promise<T>[], maxRetries?: number, baseDelay?: number): Promise<T[]>; export declare const filterOutBySize: (usdAmount: number) => boolean; export declare const determineBlockCutoff: (chain: number) => 120000 | 150000; export declare const determineBlockSkipInternal: (chain: number) => 8000 | 50000; export declare const POOL_FUNCTIONS: IPoolFunctions[]; export declare function getVaultRewards(tokenizedVault: ITokenizedVault): { upshiftPoints: string; latestUpshiftPointMultiplier: number; upshiftPointsMultipliers: { timestamp: number; multiplier: number; }[]; additionalPoints: string[]; }; export declare function getIdleAssets(provider: IContractRunner, vaultAddress: IAddress, underlying: IAddress, totalAssets: INormalizedNumber): Promise<bigint>; export declare function buildFormattedVault(provider: IContractRunner, tokenizedVault: ITokenizedVault, contractCalls: Record<IPoolFunctions, string | number | INormalizedNumber | boolean>): Promise<IVault>; export declare function fetchVaultWithFallback<T>(vaultAddress: string, fetchFn: () => Promise<T>, options?: { maxRetries?: number; baseDelay?: number; fallbackStrategies?: Array<() => Promise<T>>; timeout?: number; }): Promise<{ success: boolean; data?: T; error?: Error; strategy: string; }>; export declare function fetchVaultsBatch<T>(vaults: Array<{ address: string; fetchFn: () => Promise<T>; }>, options?: { maxRetries?: number; baseDelay?: number; batchSize?: number; parallelLimit?: number; }): Promise<{ successful: Array<{ index: number; data: T; strategy: string; }>; failed: Array<{ index: number; error: Error; address: string; }>; totalAttempted: number; successRate: number; }>; export declare function fetchVaultsComprehensive<T>(vaults: Array<{ address: string; chain: number; }>, fetchFn: (vault: { address: string; chain: number; fallbackRpc?: string; minimal?: boolean; }) => Promise<T>, options?: { maxRetries?: number; baseDelay?: number; batchSize?: number; parallelLimit?: number; includeClosed?: boolean; includeInvisible?: boolean; fallbackRpcUrls?: Record<number, string[]>; timeout?: number; }): Promise<{ successful: Array<{ index: number; data: T; strategy: string; attempts: number; }>; failed: Array<{ index: number; error: Error; address: string; chain: number; attempts: number; }>; totalAttempted: number; successRate: number; coverageReport: { totalVaults: number; successfulVaults: number; failedVaults: number; closedVaults: number; invisibleVaults: number; rpcFailures: Record<number, number>; }; }>; export declare function filterVaultsIntelligently<T extends { status?: string; isVisible?: boolean; is_visible?: boolean; }>(vaults: (T | null)[], options?: { includeClosed?: boolean; includeInvisible?: boolean; includeNull?: boolean; minStatus?: string[]; }): { active: T[]; closed: T[]; invisible: T[]; failed: Array<{ index: number; reason: string; }>; summary: { total: number; active: number; closed: number; invisible: number; failed: number; successRate: number; }; };