import { newAccounts } from '@celo/abis/web3/Accounts'; import { newGoldToken } from '@celo/abis/web3/GoldToken'; import { newStableToken } from '@celo/abis/web3/mento/StableToken'; import { newStableTokenBRL } from '@celo/abis/web3/mento/StableTokenBRL'; import { newStableTokenEUR } from '@celo/abis/web3/mento/StableTokenEUR'; import { StableToken } from '@celo/base'; import { Connection } from '@celo/connect'; import { AddressRegistry } from './address-registry'; import { ContractCacheType } from './basic-contract-cache-type'; import { AccountsWrapper } from './wrappers/Accounts'; import { GoldTokenWrapper } from './wrappers/GoldTokenWrapper'; import { StableTokenWrapper } from './wrappers/StableTokenWrapper'; declare const MINIMUM_CONTRACTS: { Accounts: { newInstance: typeof newAccounts; wrapper: typeof AccountsWrapper; }; CeloToken: { newInstance: typeof newGoldToken; wrapper: typeof GoldTokenWrapper; }; StableToken: { newInstance: typeof newStableToken; wrapper: typeof StableTokenWrapper; }; StableTokenBRL: { newInstance: typeof newStableTokenBRL; wrapper: typeof StableTokenWrapper; }; StableTokenEUR: { newInstance: typeof newStableTokenEUR; wrapper: typeof StableTokenWrapper; }; }; export type ContractsBroughtBase = typeof MINIMUM_CONTRACTS; type Keys = keyof ContractsBroughtBase; type Wrappers = InstanceType; /** * Alternative Contract Cache with Minimal Contracts * * Provides access to a subset of wrappers: {@link AccountsWrapper}, {@link GasPriceMinimumWrapper} and Celo Token contracts * Used internally by {@link MiniContractKit} * * @param connection – {@link Connection} * @param registry – {@link AddressRegistry} */ export declare class MiniContractCache implements ContractCacheType { readonly connection: Connection; readonly registry: AddressRegistry; private readonly contractClasses; private cache; constructor(connection: Connection, registry: AddressRegistry, contractClasses?: ContractsBroughtBase); getAccounts(): Promise; getGoldToken(): Promise; getStableToken(stableToken?: StableToken): Promise; /** * Get Contract wrapper */ getContract(contract: ContractKey, address?: string): Promise>; private setContract; invalidateContract(contract: C): void; private isContractAvailable; } export {};