UNPKG

@andrekorol/kollateral

Version:

Typescript library for Kollateral, the flash loan building block

47 lines (46 loc) 2.34 kB
import { BigNumber } from "bignumber.js"; import { KollateralConfig } from "./config/kollateral-config"; import { Network } from "./static/network"; import { Token } from "./static/tokens"; import { Execution } from "./models/Invocation"; import { TokenAmount } from "./models/token-amount"; import { TransactionConfig } from "web3-core"; export declare class Kollateral { static MAX_UINT256: BigNumber; private _provider; private _config; private _web3; private _invoker; private _kEther; private _kErc20s; private _kTokens; private _erc20Abi; constructor(provider: any, config: KollateralConfig); static init(provider: any): Promise<Kollateral>; static isSupportedNetwork(network: Network): boolean; unlock(sender: string, kTokenAddress: string): Promise<boolean>; unlockAmount(sender: string, kTokenAddress: string, amount: BigNumber): Promise<boolean>; allowance(owner: string, kTokenAddress: string): Promise<BigNumber>; isUnlocked(owner: string, kTokenAddress: string): Promise<boolean>; mint(sender: string, kTokenAddress: string, amount: BigNumber): Promise<boolean>; redeem(sender: string, kTokenAddress: string, amount: BigNumber): Promise<boolean>; redeemUnderlying(sender: string, kTokenAddress: string, amount: BigNumber): Promise<boolean>; private isKEtherAddress; balanceOf(owner: string, tokenAddress: string): Promise<BigNumber>; balanceOfUnderlying(owner: string, kTokenAddress: string): Promise<BigNumber>; underlyingAmountToNativeAmount(kTokenAddress: string, tokenAmount: BigNumber, ceiling?: boolean): Promise<BigNumber>; nativeAmountToUnderlyingAmount(kTokenAddress: string, kTokenAmount: BigNumber): Promise<BigNumber>; totalSupply(tokenAddress: string): Promise<BigNumber>; totalReserve(kTokenAddress: string): Promise<BigNumber>; private tokenOf; invoke(execution: Execution, tokenAmount: TokenAmount, txOpt?: TransactionConfig): Promise<void>; totalLiquidity(token: Token): Promise<BigNumber>; faucet(sender: string, tokenAmount: TokenAmount): Promise<boolean>; private getTokenAddressOrThrow; private valueOrDefault; private dataOrDefault; } export * from './static/tokens'; export * from './static/ktokens'; export * from './static/network'; export * from './static/invoker';