import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface FakeOutboxInterface extends utils.Interface { contractName: "FakeOutbox"; functions: { "bridge()": FunctionFragment; "executeTransaction(uint256,bytes32[],uint256,address,address,uint256,uint256,uint256,uint256,bytes)": FunctionFragment; "l2ToL1Sender()": FunctionFragment; }; encodeFunctionData(functionFragment: "bridge", values?: undefined): string; encodeFunctionData(functionFragment: "executeTransaction", values: [ BigNumberish, BytesLike[], BigNumberish, string, string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike ]): string; encodeFunctionData(functionFragment: "l2ToL1Sender", values?: undefined): string; decodeFunctionResult(functionFragment: "bridge", data: BytesLike): Result; decodeFunctionResult(functionFragment: "executeTransaction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2ToL1Sender", data: BytesLike): Result; events: { "OutBoxTransactionExecuted(address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "OutBoxTransactionExecuted"): EventFragment; } export declare type OutBoxTransactionExecutedEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], { destAddr: string; l2Sender: string; outboxEntryIndex: BigNumber; transactionIndex: BigNumber; }>; export declare type OutBoxTransactionExecutedEventFilter = TypedEventFilter; export interface FakeOutbox extends BaseContract { contractName: "FakeOutbox"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: FakeOutboxInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { bridge(overrides?: CallOverrides): Promise<[string]>; executeTransaction(batchNum: BigNumberish, arg1: BytesLike[], index: BigNumberish, l2Sender: string, destAddr: string, l2Block: BigNumberish, l1Block: BigNumberish, l2Timestamp: BigNumberish, amount: BigNumberish, calldataForL1: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; l2ToL1Sender(overrides?: CallOverrides): Promise<[string]>; }; bridge(overrides?: CallOverrides): Promise; executeTransaction(batchNum: BigNumberish, arg1: BytesLike[], index: BigNumberish, l2Sender: string, destAddr: string, l2Block: BigNumberish, l1Block: BigNumberish, l2Timestamp: BigNumberish, amount: BigNumberish, calldataForL1: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; l2ToL1Sender(overrides?: CallOverrides): Promise; callStatic: { bridge(overrides?: CallOverrides): Promise; executeTransaction(batchNum: BigNumberish, arg1: BytesLike[], index: BigNumberish, l2Sender: string, destAddr: string, l2Block: BigNumberish, l1Block: BigNumberish, l2Timestamp: BigNumberish, amount: BigNumberish, calldataForL1: BytesLike, overrides?: CallOverrides): Promise; l2ToL1Sender(overrides?: CallOverrides): Promise; }; filters: { "OutBoxTransactionExecuted(address,address,uint256,uint256)"(destAddr?: string | null, l2Sender?: string | null, outboxEntryIndex?: BigNumberish | null, transactionIndex?: null): OutBoxTransactionExecutedEventFilter; OutBoxTransactionExecuted(destAddr?: string | null, l2Sender?: string | null, outboxEntryIndex?: BigNumberish | null, transactionIndex?: null): OutBoxTransactionExecutedEventFilter; }; estimateGas: { bridge(overrides?: CallOverrides): Promise; executeTransaction(batchNum: BigNumberish, arg1: BytesLike[], index: BigNumberish, l2Sender: string, destAddr: string, l2Block: BigNumberish, l1Block: BigNumberish, l2Timestamp: BigNumberish, amount: BigNumberish, calldataForL1: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; l2ToL1Sender(overrides?: CallOverrides): Promise; }; populateTransaction: { bridge(overrides?: CallOverrides): Promise; executeTransaction(batchNum: BigNumberish, arg1: BytesLike[], index: BigNumberish, l2Sender: string, destAddr: string, l2Block: BigNumberish, l1Block: BigNumberish, l2Timestamp: BigNumberish, amount: BigNumberish, calldataForL1: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; l2ToL1Sender(overrides?: CallOverrides): Promise; }; }