import { newAccounts } from '@celo/abis/web3/Accounts'; import { newAttestations } from '@celo/abis/web3/Attestations'; import { newCeloUnreleasedTreasury } from '@celo/abis/web3/CeloUnreleasedTreasury'; import { newElection } from '@celo/abis/web3/Election'; import { newEpochManager } from '@celo/abis/web3/EpochManager'; import { newEpochManagerEnabler } from '@celo/abis/web3/EpochManagerEnabler'; import { newEpochRewards } from '@celo/abis/web3/EpochRewards'; import { newEscrow } from '@celo/abis/web3/Escrow'; import { newFederatedAttestations } from '@celo/abis/web3/FederatedAttestations'; import { newFeeCurrencyDirectory } from '@celo/abis/web3/FeeCurrencyDirectory'; import { newFeeHandler } from '@celo/abis/web3/FeeHandler'; import { newFreezer } from '@celo/abis/web3/Freezer'; import { newGoldToken } from '@celo/abis/web3/GoldToken'; import { newGovernance } from '@celo/abis/web3/Governance'; import { newGovernanceSlasher } from '@celo/abis/web3/GovernanceSlasher'; import { newIERC20 } from '@celo/abis/web3/IERC20'; import { newLockedGold } from '@celo/abis/web3/LockedGold'; import { newReserve } from '@celo/abis/web3/mento/Reserve'; import { newStableToken } from '@celo/abis/web3/mento/StableToken'; import { newMentoFeeHandlerSeller } from '@celo/abis/web3/MentoFeeHandlerSeller'; import { newMultiSig } from '@celo/abis/web3/MultiSig'; import { newOdisPayments } from '@celo/abis/web3/OdisPayments'; import { newRegistry } from '@celo/abis/web3/Registry'; import { newScoreManager } from '@celo/abis/web3/ScoreManager'; import { newSortedOracles } from '@celo/abis/web3/SortedOracles'; import { newUniswapFeeHandlerSeller } from '@celo/abis/web3/UniswapFeeHandlerSeller'; import { newValidators } from '@celo/abis/web3/Validators'; import { AddressRegistry } from './address-registry'; import { StableToken } from './celo-tokens'; export declare const ContractFactories: { Accounts: typeof newAccounts; Attestations: typeof newAttestations; CeloUnreleasedTreasury: typeof newCeloUnreleasedTreasury; Election: typeof newElection; EpochManager: typeof newEpochManager; EpochManagerEnabler: typeof newEpochManagerEnabler; EpochRewards: typeof newEpochRewards; ERC20: typeof newIERC20; Escrow: typeof newEscrow; FederatedAttestations: typeof newFederatedAttestations; FeeCurrencyDirectory: typeof newFeeCurrencyDirectory; Freezer: typeof newFreezer; FeeHandler: typeof newFeeHandler; MentoFeeHandlerSeller: typeof newMentoFeeHandlerSeller; UniswapFeeHandlerSeller: typeof newUniswapFeeHandlerSeller; CeloToken: typeof newGoldToken; GoldToken: typeof newGoldToken; Governance: typeof newGovernance; GovernanceSlasher: typeof newGovernanceSlasher; LockedCelo: typeof newLockedGold; LockedGold: typeof newLockedGold; MultiSig: typeof newMultiSig; OdisPayments: typeof newOdisPayments; Registry: typeof newRegistry; Reserve: typeof newReserve; ScoreManager: typeof newScoreManager; SortedOracles: typeof newSortedOracles; StableToken: typeof newStableToken; StableTokenEUR: typeof newStableToken; StableTokenBRL: typeof newStableToken; Validators: typeof newValidators; }; export type CFType = typeof ContractFactories; type ContractCacheMap = { [K in keyof CFType]?: ReturnType; }; /** * Native Web3 contracts factory and cache. * * Exposes accessors to all `CeloContract` web3 contracts. * * Mostly a private cache, kit users would normally use * a contract wrapper */ export declare class Web3ContractCache { readonly registry: AddressRegistry; private cacheMap; /** core contract's address registry */ constructor(registry: AddressRegistry); getAccounts(): Promise; getAttestations(): Promise; getCeloUnreleasedTreasury(): Promise; getElection(): Promise; getEpochManager(): Promise; getEpochManagerEnabler(): Promise; getEpochRewards(): Promise; getErc20(address: string): Promise; getEscrow(): Promise; getFederatedAttestations(): Promise; getFreezer(): Promise; getFeeHandler(): Promise; getGoldToken(): Promise; getCeloToken(): Promise; getGovernance(): Promise; getLockedGold(): Promise; getLockedCelo(): Promise; getMultiSig(address: string): Promise; getOdisPayments(): Promise; getRegistry(): Promise; getReserve(): Promise; getScoreManager(): Promise; getSortedOracles(): Promise; getStableToken(stableToken?: StableToken): Promise>; getValidators(): Promise; /** * Get native web3 contract wrapper */ getContract(contract: C, address?: string): Promise>; invalidateContract(contract: C): void; } export {};