@celo/contractkit
Version:
Celo's ContractKit to interact with Celo network
72 lines (71 loc) • 2.83 kB
TypeScript
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;