import { Provider, TransactionReceipt, TransactionResponse } from "@ethersproject/providers"; import { ChainTransaction, ChainTransactionProgress, EventEmitterTyped, PromiEvent, TxSubmitter } from "@renproject/utils"; import { ethers, PayableOverrides, PopulatedTransaction, Signer } from "ethers"; import { AbiItem } from "./abi"; import { EVMParamValues, EVMPayloadInterface, PayloadHandler } from "./payloads/evmParams"; import { EVMNetworkConfig } from "./types"; /** Fix numeric values in the transaction config. */ export declare const fixEVMTransactionConfig: (...txConfigs: Array) => PayableOverrides; /** * Call a method on an EVM contract from the provided signer. * * @param signer An Ethers signer to make the call from. * @param to The EVM contract's address. * @param abi The ABI of the method being called. * @param params The parameters for the method, as defined by the ABI. * @param txConfig Optional EVM transaction config. * @returns An unconfirmed transaction response. */ export declare const callContract: (signer: Signer, to: string, abi: AbiItem, params: unknown[], txConfig?: PayableOverrides) => Promise; /** * EVMTxSubmitter handles submitting and waiting for EVM transactions. */ export declare class EVMTxSubmitter implements TxSubmitter { chain: string; progress: ChainTransactionProgress; eventEmitter: EventEmitterTyped<{ progress: [ChainTransactionProgress]; }>; private _network; private _getProvider; private _getSigner; private _payload; private _tx?; private _getPayloadHandler; private _getParams; private _onReceipt?; private _findExistingTransaction?; private _transactionExplorerLink?; private updateProgress; constructor({ network, getProvider, getSigner, chain, payload, target, getPayloadHandler, getParams, onReceipt, findExistingTransaction, transactionExplorerLink, }: { network: EVMNetworkConfig; getProvider: () => Provider; getSigner: () => Signer | undefined; chain: string; payload: EVMPayloadInterface; target: number; getPayloadHandler: (payloadType: string) => PayloadHandler; getParams: () => EVMParamValues; onReceipt?: (tx: TransactionReceipt) => void; findExistingTransaction?: () => Promise; transactionExplorerLink?: (params: Partial & ({ txid: string; } | { txHash: string; })) => string | undefined; }); export: (options?: { overrides?: { [key: string]: any; } | undefined; txConfig?: ethers.PayableOverrides | undefined; }) => Promise; submit: (options?: { overrides?: { [key: string]: any; } | undefined; txConfig?: ethers.PayableOverrides | undefined; }) => PromiEvent; setTransaction: (chainTransaction: ChainTransaction) => Promise; wait: (target?: number) => PromiEvent; } //# sourceMappingURL=evmTxSubmitter.d.ts.map