import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export type L2TransactionRequestTwoBridgesInnerStruct = { magicValue: BytesLike; l2Contract: AddressLike; l2Calldata: BytesLike; factoryDeps: BytesLike[]; txDataHash: BytesLike; }; export type L2TransactionRequestTwoBridgesInnerStructOutput = [ magicValue: string, l2Contract: string, l2Calldata: string, factoryDeps: string[], txDataHash: string ] & { magicValue: string; l2Contract: string; l2Calldata: string; factoryDeps: string[]; txDataHash: string; }; export interface IL1BridgeInterface extends Interface { getFunction(nameOrSignature: "bridgehub" | "bridgehubConfirmL2Transaction" | "bridgehubDeposit" | "bridgehubDepositBaseToken" | "claimFailedDeposit" | "deposit" | "depositHappened" | "finalizeWithdrawal" | "isWithdrawalFinalizedShared" | "l2BridgeAddress"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "BridgehubDepositFinalized" | "BridgehubDepositInitiatedSharedBridge" | "ClaimedFailedDepositSharedBridge" | "DepositInitiatedSharedBridge" | "WithdrawalFinalizedSharedBridge"): EventFragment; encodeFunctionData(functionFragment: "bridgehub", values?: undefined): string; encodeFunctionData(functionFragment: "bridgehubConfirmL2Transaction", values: [BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "bridgehubDeposit", values: [BigNumberish, AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "bridgehubDepositBaseToken", values: [BigNumberish, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "claimFailedDeposit", values: [ BigNumberish, AddressLike, AddressLike, BigNumberish, BytesLike, BigNumberish, BigNumberish, BigNumberish, BytesLike[] ]): string; encodeFunctionData(functionFragment: "deposit", values: [ BigNumberish, AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish, BigNumberish, AddressLike ]): string; encodeFunctionData(functionFragment: "depositHappened", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "finalizeWithdrawal", values: [ BigNumberish, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike[] ]): string; encodeFunctionData(functionFragment: "isWithdrawalFinalizedShared", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "l2BridgeAddress", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "bridgehub", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bridgehubConfirmL2Transaction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bridgehubDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bridgehubDepositBaseToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimFailedDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositHappened", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isWithdrawalFinalizedShared", data: BytesLike): Result; decodeFunctionResult(functionFragment: "l2BridgeAddress", data: BytesLike): Result; } export declare namespace BridgehubDepositFinalizedEvent { type InputTuple = [ chainId: BigNumberish, txDataHash: BytesLike, l2DepositTxHash: BytesLike ]; type OutputTuple = [ chainId: bigint, txDataHash: string, l2DepositTxHash: string ]; interface OutputObject { chainId: bigint; txDataHash: string; l2DepositTxHash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubDepositInitiatedSharedBridgeEvent { type InputTuple = [ chainId: BigNumberish, txDataHash: BytesLike, from: AddressLike, to: AddressLike, l1Token: AddressLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, txDataHash: string, from: string, to: string, l1Token: string, amount: bigint ]; interface OutputObject { chainId: bigint; txDataHash: string; from: string; to: string; l1Token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ClaimedFailedDepositSharedBridgeEvent { type InputTuple = [ chainId: BigNumberish, to: AddressLike, l1Token: AddressLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, to: string, l1Token: string, amount: bigint ]; interface OutputObject { chainId: bigint; to: string; l1Token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DepositInitiatedSharedBridgeEvent { type InputTuple = [ chainId: BigNumberish, l2DepositTxHash: BytesLike, from: AddressLike, to: AddressLike, l1Token: AddressLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, l2DepositTxHash: string, from: string, to: string, l1Token: string, amount: bigint ]; interface OutputObject { chainId: bigint; l2DepositTxHash: string; from: string; to: string; l1Token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawalFinalizedSharedBridgeEvent { type InputTuple = [ chainId: BigNumberish, to: AddressLike, l1Token: AddressLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, to: string, l1Token: string, amount: bigint ]; interface OutputObject { chainId: bigint; to: string; l1Token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IL1Bridge extends BaseContract { connect(runner?: ContractRunner | null): IL1Bridge; waitForDeployment(): Promise; interface: IL1BridgeInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; bridgehub: TypedContractMethod<[], [string], "view">; bridgehubConfirmL2Transaction: TypedContractMethod<[ _chainId: BigNumberish, _txDataHash: BytesLike, _txHash: BytesLike ], [ void ], "nonpayable">; bridgehubDeposit: TypedContractMethod<[ _chainId: BigNumberish, _prevMsgSender: AddressLike, _data: BytesLike ], [ L2TransactionRequestTwoBridgesInnerStructOutput ], "payable">; bridgehubDepositBaseToken: TypedContractMethod<[ _chainId: BigNumberish, _prevMsgSender: AddressLike, _l1Token: AddressLike, _amount: BigNumberish ], [ void ], "payable">; claimFailedDeposit: TypedContractMethod<[ _chainId: BigNumberish, _depositSender: AddressLike, _l1Token: AddressLike, _amount: BigNumberish, _l2TxHash: BytesLike, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish, _l2TxNumberInBatch: BigNumberish, _merkleProof: BytesLike[] ], [ void ], "nonpayable">; deposit: TypedContractMethod<[ _chainId: BigNumberish, _l2Receiver: AddressLike, _l1Token: AddressLike, _mintValue: BigNumberish, _amount: BigNumberish, _l2TxGasLimit: BigNumberish, _l2TxGasPerPubdataByte: BigNumberish, _refundRecipient: AddressLike ], [ string ], "payable">; depositHappened: TypedContractMethod<[ _chainId: BigNumberish, _l2TxHash: BytesLike ], [ string ], "view">; finalizeWithdrawal: TypedContractMethod<[ _chainId: BigNumberish, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish, _l2TxNumberInBatch: BigNumberish, _message: BytesLike, _merkleProof: BytesLike[] ], [ void ], "nonpayable">; isWithdrawalFinalizedShared: TypedContractMethod<[ _chainId: BigNumberish, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish ], [ boolean ], "view">; l2BridgeAddress: TypedContractMethod<[ _chainId: BigNumberish ], [ string ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "bridgehub"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "bridgehubConfirmL2Transaction"): TypedContractMethod<[ _chainId: BigNumberish, _txDataHash: BytesLike, _txHash: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "bridgehubDeposit"): TypedContractMethod<[ _chainId: BigNumberish, _prevMsgSender: AddressLike, _data: BytesLike ], [ L2TransactionRequestTwoBridgesInnerStructOutput ], "payable">; getFunction(nameOrSignature: "bridgehubDepositBaseToken"): TypedContractMethod<[ _chainId: BigNumberish, _prevMsgSender: AddressLike, _l1Token: AddressLike, _amount: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "claimFailedDeposit"): TypedContractMethod<[ _chainId: BigNumberish, _depositSender: AddressLike, _l1Token: AddressLike, _amount: BigNumberish, _l2TxHash: BytesLike, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish, _l2TxNumberInBatch: BigNumberish, _merkleProof: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _chainId: BigNumberish, _l2Receiver: AddressLike, _l1Token: AddressLike, _mintValue: BigNumberish, _amount: BigNumberish, _l2TxGasLimit: BigNumberish, _l2TxGasPerPubdataByte: BigNumberish, _refundRecipient: AddressLike ], [ string ], "payable">; getFunction(nameOrSignature: "depositHappened"): TypedContractMethod<[ _chainId: BigNumberish, _l2TxHash: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "finalizeWithdrawal"): TypedContractMethod<[ _chainId: BigNumberish, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish, _l2TxNumberInBatch: BigNumberish, _message: BytesLike, _merkleProof: BytesLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "isWithdrawalFinalizedShared"): TypedContractMethod<[ _chainId: BigNumberish, _l2BatchNumber: BigNumberish, _l2MessageIndex: BigNumberish ], [ boolean ], "view">; getFunction(nameOrSignature: "l2BridgeAddress"): TypedContractMethod<[_chainId: BigNumberish], [string], "view">; getEvent(key: "BridgehubDepositFinalized"): TypedContractEvent; getEvent(key: "BridgehubDepositInitiatedSharedBridge"): TypedContractEvent; getEvent(key: "ClaimedFailedDepositSharedBridge"): TypedContractEvent; getEvent(key: "DepositInitiatedSharedBridge"): TypedContractEvent; getEvent(key: "WithdrawalFinalizedSharedBridge"): TypedContractEvent; filters: { "BridgehubDepositFinalized(uint256,bytes32,bytes32)": TypedContractEvent; BridgehubDepositFinalized: TypedContractEvent; "BridgehubDepositInitiatedSharedBridge(uint256,bytes32,address,address,address,uint256)": TypedContractEvent; BridgehubDepositInitiatedSharedBridge: TypedContractEvent; "ClaimedFailedDepositSharedBridge(uint256,address,address,uint256)": TypedContractEvent; ClaimedFailedDepositSharedBridge: TypedContractEvent; "DepositInitiatedSharedBridge(uint256,bytes32,address,address,address,uint256)": TypedContractEvent; DepositInitiatedSharedBridge: TypedContractEvent; "WithdrawalFinalizedSharedBridge(uint256,address,address,uint256)": TypedContractEvent; WithdrawalFinalizedSharedBridge: TypedContractEvent; }; }