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 { /** * Query Tobin tax staleness threshold parameter. * @returns Current Tobin tax staleness threshold. */ tobinTaxStalenessThreshold: () => Promise; dailySpendingRatio: () => Promise; isSpender: (account: string) => Promise; transferGold: (to: string, value: string | number) => import("@celo/connect").CeloTransactionObject; getOrComputeTobinTax: () => import("@celo/connect").CeloTransactionObject<{ 0: string; 1: string; }>; frozenReserveGoldStartBalance: () => Promise; frozenReserveGoldStartDay: () => Promise; frozenReserveGoldDays: () => Promise; /** * @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; /** * @notice Returns a list of token symbols that have been allocated. * @return An array of token symbols that have been allocated. */ getAssetAllocationSymbols: () => Promise; /** * @alias {getReserveCeloBalance} */ getReserveGoldBalance: () => Promise; /** * @notice Returns the amount of CELO included in the reserve * @return {BigNumber} The CELO amount included in the reserve. */ getReserveCeloBalance: () => Promise; /** * @notice Returns the amount of unfrozen CELO in the Reserve contract. * @see {getUnfrozenReserveCeloBalance} * @return {BigNumber} amount in wei */ getUnfrozenBalance: () => Promise; /** * @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; getOtherReserveAddresses: () => Promise; /** * Returns current configuration parameters. */ getConfig(): Promise; isOtherReserveAddress: (arg0: string) => Promise; getSpenders(): Promise; } export type ReserveWrapperType = ReserveWrapper;