import { FullChannelState, IVectorChainService, MinimalTransaction, ChainError, Result, IChainServiceStore, TransactionReason, FullTransferState, ChainServiceEvent, ChainServiceEventMap } from "@connext/vector-types"; import { Signer } from "@ethersproject/abstract-signer"; import { BigNumber } from "@ethersproject/bignumber"; import { JsonRpcProvider, TransactionReceipt, TransactionResponse } from "@ethersproject/providers"; import { BaseLogger } from "pino"; import { EthereumChainReader } from "./ethReader"; export declare const CONFIRMATION_TIMEOUT = 45000; export declare const GAS_BUMP_PERCENT = 20; export declare const BIG_GAS_LIMIT: BigNumber; export declare const BIG_GAS_PRICE: BigNumber; export declare const waitForTransaction: (provider: JsonRpcProvider, transactionHash: string, confirmations?: number | undefined, timeout?: number | undefined) => Promise>; export declare class EthereumChainService extends EthereumChainReader implements IVectorChainService { private readonly store; private readonly defaultRetries; private nonces; private signers; private queues; private evts; constructor(store: IChainServiceStore, chainProviders: { [chainId: string]: JsonRpcProvider; }, signer: string | Signer, log: BaseLogger, defaultRetries?: number); private getSigner; private handleTxSubmit; private handleTxMined; private handleTxFail; private sendTx; revitalizeTxs(): Promise; getTxResponseFromHash(chainId: number, txHash: string): Promise>; sendTxWithRetries(channelAddress: string, chainId: number, reason: TransactionReason, txFn: (gasPrice: BigNumber, nonce: number) => Promise): Promise>; sendAndConfirmTx(channelAddress: string, chainId: number, reason: TransactionReason, txFn: (gasPrice: BigNumber, nonce: number) => Promise, presetGasPrice?: BigNumber): Promise>; waitForConfirmation(chainId: number, responses: TransactionResponse[]): Promise; sendDeployChannelTx(channelState: FullChannelState, deposit?: { amount: string; assetId: string; }): Promise>; sendWithdrawTx(channelState: FullChannelState, minTx: MinimalTransaction): Promise>; sendDepositTx(channelState: FullChannelState, sender: string, amount: string, assetId: string): Promise>; on(event: T, callback: (payload: ChainServiceEventMap[T]) => void | Promise, filter?: (payload: ChainServiceEventMap[T]) => boolean): void; once(event: T, callback: (payload: ChainServiceEventMap[T]) => void | Promise, filter?: (payload: ChainServiceEventMap[T]) => boolean): void; off(event?: T): void; waitFor(event: T, timeout: number, filter?: (payload: ChainServiceEventMap[T]) => boolean): Promise; approveTokens(channelAddress: string, spender: string, owner: string, depositAmount: string, assetId: string, chainId: number, approvalAmount?: string): Promise>; sendDepositATx(channelState: FullChannelState, amount: string, assetId: string): Promise>; sendDepositBTx(channelState: FullChannelState, amount: string, assetId: string): Promise>; sendDisputeChannelTx(channelState: FullChannelState): Promise>; sendDefundChannelTx(channelState: FullChannelState, assetsToDefund?: string[], indices?: string[]): Promise>; sendDisputeTransferTx(transferIdToDispute: string, activeTransfers: FullTransferState[]): Promise>; sendDefundTransferTx(transferState: FullTransferState, responderSignature?: string): Promise>; sendExitChannelTx(channelAddress: string, chainId: number, assetId: string, owner: string, recipient: string): Promise>; } //# sourceMappingURL=ethService.d.ts.map