UNPKG

@augustdigital/vaults

Version:

JS SDK for web3 interactions with the August Digital Lending Pools

119 lines (118 loc) 4.17 kB
import { AugustBase, IAugustBase } from '@augustdigital/utils'; import type { IAddress, IChainId, IEnv, IVaultPosition, IVaultUserHistoryItem, IWSMonitorHeaders } from '@augustdigital/types'; import { Signer } from 'ethers'; import SolanaService from '@augustdigital/services/lib/solana/class'; export interface IVaultBaseOptions { rpcUrl: string; env?: IEnv; augustKey?: string; subgraphKey: string; chainId?: number; solanaService?: SolanaService; headers?: IWSMonitorHeaders; } export interface IVaultCustomOptions { loans?: boolean; allocations?: boolean; wallet?: IAddress; solanaWallet?: string; } export declare class AugustVaults extends AugustBase { private solanaService; constructor(baseConfig: IAugustBase, solana: SolanaService); getVaults(options?: { chainIds?: number[]; headers?: IWSMonitorHeaders; } & IVaultCustomOptions): Promise<import("@augustdigital/types").IVault[]>; getVault({ vault, chainId, options, }: { vault: IAddress; chainId?: IChainId; options?: IVaultCustomOptions; }): Promise<import("@augustdigital/types").IVault>; getVaultLoans({ vault, chainId, }: { vault: IAddress; chainId?: IChainId; }): Promise<import("@augustdigital/types").IVaultLoan[]>; getVaultAllocations({ vault, chainId, }: { vault: IAddress; chainId?: IChainId; }): Promise<import("@augustdigital/types").IVaultAllocations | { status: number; message: string; }>; getVaultApy(vault: IAddress): Promise<number>; getAvailableRedemptions({ vault, chainId, wallet, }: { vault: IAddress; chainId?: number; wallet?: IAddress; }): Promise<{ availableRedemptions: import("@augustdigital/types").IVaultAvailableRedemption[]; pendingRedemptions: import("@augustdigital/types").IVaultAvailableRedemption[]; }>; getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }: { vault?: IAddress; wallet: IAddress; chainId?: IChainId; showAllVaults?: boolean; solanaWallet?: string; options?: IVaultBaseOptions; }): Promise<IVaultPosition[]>; getUserHistory({ wallet, chainId, vault, options, }: { wallet: IAddress; chainId?: IChainId; vault?: IAddress; options?: IVaultBaseOptions; }): Promise<IVaultUserHistoryItem[]>; getUserTransfers({ wallet, chainId, vault, options, }: { wallet: IAddress; chainId?: IChainId; vault?: IAddress; options?: IVaultBaseOptions; }): Promise<{ id: string; value: string; to: string; from: string; pool: string; block: number; timestamp: number; transactionHash: string; }[]>; getStakingPositions(wallet?: IAddress, chainId?: IChainId): Promise<import("@augustdigital/types").IActiveStakingPosition[]>; getVaultExposure(debankResponse: any): { borrowing_exposure: { symbol: string; chain: string; amount: number; }[]; supplying_exposure: { symbol: string; chain: string; amount: number; }[]; wallet_exposure: { symbol: string; chain: string; amount: number; }[]; }; allowance(pool: IAddress, signer: Signer): Promise<import("@augustdigital/types").INormalizedNumber>; approve(pool: IAddress, signer: Signer, inputParams: { amount: string | number | bigint; }): Promise<string>; deposit(pool: IAddress, signer: Signer | string, inputParams: { amount: string | number | bigint; }, solana?: { sendTransaction: any; }): Promise<any>; requestWithdrawal(pool: IAddress, signer: Signer): Promise<string>; withdraw(pool: IAddress, signer: Signer | string, inputParams: { amount: string | bigint | number; day?: string; month?: string; year?: string; receiverIndex?: string; }, solana?: { sendTransaction: any; }): Promise<any>; }