@volare.finance/volare.js
Version:
The SDK for Volare Protocol
45 lines (44 loc) • 1.68 kB
TypeScript
/**
* @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>>;
}