UNPKG

@celo/contractkit

Version:

Celo's ContractKit to interact with Celo network

72 lines (71 loc) 2.83 kB
import { Reserve } from '@celo/abis/web3/mento/Reserve'; import { Address } from '@celo/connect'; import BigNumber from 'bignumber.js'; import { BaseWrapper } from './BaseWrapper'; export interface ReserveConfig { tobinTaxStalenessThreshold: BigNumber; frozenReserveGoldStartBalance: BigNumber; frozenReserveGoldStartDay: BigNumber; frozenReserveGoldDays: BigNumber; otherReserveAddresses: string[]; } /** * Contract for handling reserve for stable currencies */ export declare class ReserveWrapper extends BaseWrapper<Reserve> { /** * Query Tobin tax staleness threshold parameter. * @returns Current Tobin tax staleness threshold. */ tobinTaxStalenessThreshold: () => Promise<BigNumber>; dailySpendingRatio: () => Promise<BigNumber>; isSpender: (account: string) => Promise<boolean>; transferGold: (to: string, value: string | number) => import("@celo/connect").CeloTransactionObject<boolean>; getOrComputeTobinTax: () => import("@celo/connect").CeloTransactionObject<{ 0: string; 1: string; }>; frozenReserveGoldStartBalance: () => Promise<BigNumber>; frozenReserveGoldStartDay: () => Promise<BigNumber>; frozenReserveGoldDays: () => Promise<BigNumber>; /** * @notice Returns a list of weights used for the allocation of reserve assets. * @return An array of a list of weights used for the allocation of reserve assets. */ getAssetAllocationWeights: () => Promise<BigNumber[]>; /** * @notice Returns a list of token symbols that have been allocated. * @return An array of token symbols that have been allocated. */ getAssetAllocationSymbols: () => Promise<string[]>; /** * @alias {getReserveCeloBalance} */ getReserveGoldBalance: () => Promise<BigNumber>; /** * @notice Returns the amount of CELO included in the reserve * @return {BigNumber} The CELO amount included in the reserve. */ getReserveCeloBalance: () => Promise<BigNumber>; /** * @notice Returns the amount of unfrozen CELO in the Reserve contract. * @see {getUnfrozenReserveCeloBalance} * @return {BigNumber} amount in wei */ getUnfrozenBalance: () => Promise<BigNumber>; /** * @notice Returns the amount of unfrozen CELO included in the reserve * contract and in other reserve addresses. * @see {getUnfrozenBalance} * @return {BigNumber} amount in wei */ getUnfrozenReserveCeloBalance: () => Promise<BigNumber>; getOtherReserveAddresses: () => Promise<string[]>; /** * Returns current configuration parameters. */ getConfig(): Promise<ReserveConfig>; isOtherReserveAddress: (arg0: string) => Promise<boolean>; getSpenders(): Promise<Address[]>; } export type ReserveWrapperType = ReserveWrapper;