olympus-protocol-connector
Version:
Module made by Olympus Labs for easier access to the Olympus protocol through Javascript/Typescript
24 lines (23 loc) • 1.24 kB
TypeScript
import { Service } from '../../../Service';
import BigNumber from 'bignumber.js';
import { ABI } from '../../../interfaces/Enums';
import { Tx } from '../../../interfaces/Tx';
import { IERC20DerivativeService } from '../../../interfaces/IERC20DerivativeService';
import { IERC20Extend } from '../../../interfaces/IERC20Extend';
export declare class ERC20DerivativeService extends Service implements IERC20DerivativeService, IERC20Extend {
static create(productAddress: string, abi?: ABI): Promise<ERC20DerivativeService>;
private erc20;
constructor(productAddress: string, abi: ABI);
getPrice(): Promise<BigNumber>;
decimals(): Promise<BigNumber>;
getTotalWeiAssetsValue(): Promise<BigNumber>;
balanceOf(address: string): Promise<BigNumber>;
approve(toAddress: string, amount: number, gasPrice: number): Promise<Tx>;
calculateApprovalGas(toAddress: string, amount: number): Promise<number>;
getTotalSupply(): Promise<BigNumber>;
valueOf(address: string): Promise<BigNumber>;
getTokensAddresses(): Promise<string[]>;
paused(): Promise<boolean>;
redeem(redeemAmount: number, gasPrice?: number): Promise<Tx | null>;
invest(investAmount: number, gasPrice?: number): Promise<Tx | null>;
}