UNPKG

@volare.finance/volare.js

Version:
45 lines (44 loc) 1.68 kB
/** * @file apis.ts * @author astra <astra@volare.finance> * @date 2022 */ import { Address, BigNumber, IERC20Address, IFilter } from '@volare.finance/utils.js'; import { Axios } from 'axios'; import { IOracleAddress, IVolareAddress } from '../volare'; import { Collateral } from './collateral'; import { ICash, ILongPnL, IShort, IVaultPnL } from './interfaces'; import { Log } from './log'; import { Long } from './long'; import { Notification } from './notification'; import { Price } from './price'; import { Swap } from './swap'; import { Vault } from './vault'; import { VToken } from './vToken'; import { Whitelist } from './whitelist'; export interface ApisOptions { config?: BigNumber.Config; url: string; endpoint: string; contracts: IERC20Address & IOracleAddress & IVolareAddress; } export declare class Apis { config: BigNumber.Config; instance: Axios; price: Price; whitelist: Whitelist; vToken: VToken; collateral: Collateral; long: Long; vault: Vault; swap: Swap; log: Log; notification: Notification; contracts: IERC20Address & IOracleAddress & IVolareAddress; constructor(options: ApisOptions); private erc20; cash(): Promise<ICash>; longPnLByOwnerAndVToken(owner: Address, vTokenAddress: Address, start?: number, end?: number, filter?: IFilter): Promise<Array<ILongPnL>>; shorts(owner?: Address, vTokenAddress?: Address, isExpired?: boolean, isSettled?: boolean, filter?: IFilter): Promise<Array<IShort>>; vaultPnLByOwnerAndVaultId(owner: Address, vaultId: number, start?: number, end?: number, isDetailed?: boolean, filter?: IFilter): Promise<Array<IVaultPnL>>; }