@andrekorol/kollateral
Version:
Typescript library for Kollateral, the flash loan building block
47 lines (46 loc) • 2.34 kB
TypeScript
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';