@augustdigital/vaults
Version:
JS SDK for web3 interactions with the August Digital Lending Pools
119 lines (118 loc) • 4.17 kB
TypeScript
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>;
}