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 interface IL2AssetRouterInterface extends Interface { getFunction(nameOrSignature: "BRIDGE_HUB" | "L1_ASSET_ROUTER" | "assetHandlerAddress" | "finalizeDeposit" | "finalizeDepositLegacyBridge" | "setAssetHandlerAddress" | "setAssetHandlerAddressThisChain" | "setLegacyTokenAssetHandler" | "withdraw" | "withdrawLegacyBridge"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AssetDeploymentTrackerRegistered" | "AssetHandlerRegistered" | "BridgehubDepositBaseTokenInitiated" | "BridgehubDepositInitiated" | "BridgehubWithdrawalInitiated" | "DepositFinalizedAssetRouter" | "WithdrawalInitiatedAssetRouter"): EventFragment; encodeFunctionData(functionFragment: "BRIDGE_HUB", values?: undefined): string; encodeFunctionData(functionFragment: "L1_ASSET_ROUTER", values?: undefined): string; encodeFunctionData(functionFragment: "assetHandlerAddress", values: [BytesLike]): string; encodeFunctionData(functionFragment: "finalizeDeposit", values: [BigNumberish, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "finalizeDepositLegacyBridge", values: [AddressLike, AddressLike, AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "setAssetHandlerAddress", values: [BigNumberish, BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setAssetHandlerAddressThisChain", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setLegacyTokenAssetHandler", values: [BytesLike]): string; encodeFunctionData(functionFragment: "withdraw", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "withdrawLegacyBridge", values: [AddressLike, AddressLike, BigNumberish, AddressLike]): string; decodeFunctionResult(functionFragment: "BRIDGE_HUB", data: BytesLike): Result; decodeFunctionResult(functionFragment: "L1_ASSET_ROUTER", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assetHandlerAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "finalizeDepositLegacyBridge", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetHandlerAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetHandlerAddressThisChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setLegacyTokenAssetHandler", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawLegacyBridge", data: BytesLike): Result; } export declare namespace AssetDeploymentTrackerRegisteredEvent { type InputTuple = [ assetId: BytesLike, additionalData: BytesLike, assetDeploymentTracker: AddressLike ]; type OutputTuple = [ assetId: string, additionalData: string, assetDeploymentTracker: string ]; interface OutputObject { assetId: string; additionalData: string; assetDeploymentTracker: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AssetHandlerRegisteredEvent { type InputTuple = [ assetId: BytesLike, _assetHandlerAddress: AddressLike ]; type OutputTuple = [assetId: string, _assetHandlerAddress: string]; interface OutputObject { assetId: string; _assetHandlerAddress: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubDepositBaseTokenInitiatedEvent { type InputTuple = [ chainId: BigNumberish, from: AddressLike, assetId: BytesLike, amount: BigNumberish ]; type OutputTuple = [ chainId: bigint, from: string, assetId: string, amount: bigint ]; interface OutputObject { chainId: bigint; from: string; assetId: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubDepositInitiatedEvent { type InputTuple = [ chainId: BigNumberish, txDataHash: BytesLike, from: AddressLike, assetId: BytesLike, bridgeMintCalldata: BytesLike ]; type OutputTuple = [ chainId: bigint, txDataHash: string, from: string, assetId: string, bridgeMintCalldata: string ]; interface OutputObject { chainId: bigint; txDataHash: string; from: string; assetId: string; bridgeMintCalldata: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BridgehubWithdrawalInitiatedEvent { type InputTuple = [ chainId: BigNumberish, sender: AddressLike, assetId: BytesLike, assetDataHash: BytesLike ]; type OutputTuple = [ chainId: bigint, sender: string, assetId: string, assetDataHash: string ]; interface OutputObject { chainId: bigint; sender: string; assetId: string; assetDataHash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DepositFinalizedAssetRouterEvent { type InputTuple = [ chainId: BigNumberish, assetId: BytesLike, assetData: BytesLike ]; type OutputTuple = [ chainId: bigint, assetId: string, assetData: string ]; interface OutputObject { chainId: bigint; assetId: string; assetData: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawalInitiatedAssetRouterEvent { type InputTuple = [ chainId: BigNumberish, l2Sender: AddressLike, assetId: BytesLike, assetData: BytesLike ]; type OutputTuple = [ chainId: bigint, l2Sender: string, assetId: string, assetData: string ]; interface OutputObject { chainId: bigint; l2Sender: string; assetId: string; assetData: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IL2AssetRouter extends BaseContract { connect(runner?: ContractRunner | null): IL2AssetRouter; waitForDeployment(): Promise; interface: IL2AssetRouterInterface; 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; BRIDGE_HUB: TypedContractMethod<[], [string], "view">; L1_ASSET_ROUTER: TypedContractMethod<[], [string], "view">; assetHandlerAddress: TypedContractMethod<[ _assetId: BytesLike ], [ string ], "view">; finalizeDeposit: TypedContractMethod<[ _chainId: BigNumberish, _assetId: BytesLike, _transferData: BytesLike ], [ void ], "payable">; finalizeDepositLegacyBridge: TypedContractMethod<[ _l1Sender: AddressLike, _l2Receiver: AddressLike, _l1Token: AddressLike, _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; setAssetHandlerAddress: TypedContractMethod<[ _originChainId: BigNumberish, _assetId: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; setAssetHandlerAddressThisChain: TypedContractMethod<[ _assetRegistrationData: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; setLegacyTokenAssetHandler: TypedContractMethod<[ _assetId: BytesLike ], [ void ], "nonpayable">; withdraw: TypedContractMethod<[ _assetId: BytesLike, _transferData: BytesLike ], [ string ], "nonpayable">; withdrawLegacyBridge: TypedContractMethod<[ _l1Receiver: AddressLike, _l2Token: AddressLike, _amount: BigNumberish, _sender: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "BRIDGE_HUB"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "L1_ASSET_ROUTER"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "assetHandlerAddress"): TypedContractMethod<[_assetId: BytesLike], [string], "view">; getFunction(nameOrSignature: "finalizeDeposit"): TypedContractMethod<[ _chainId: BigNumberish, _assetId: BytesLike, _transferData: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "finalizeDepositLegacyBridge"): TypedContractMethod<[ _l1Sender: AddressLike, _l2Receiver: AddressLike, _l1Token: AddressLike, _amount: BigNumberish, _data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAssetHandlerAddress"): TypedContractMethod<[ _originChainId: BigNumberish, _assetId: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setAssetHandlerAddressThisChain"): TypedContractMethod<[ _assetRegistrationData: BytesLike, _assetHandlerAddress: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setLegacyTokenAssetHandler"): TypedContractMethod<[_assetId: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ _assetId: BytesLike, _transferData: BytesLike ], [ string ], "nonpayable">; getFunction(nameOrSignature: "withdrawLegacyBridge"): TypedContractMethod<[ _l1Receiver: AddressLike, _l2Token: AddressLike, _amount: BigNumberish, _sender: AddressLike ], [ void ], "nonpayable">; getEvent(key: "AssetDeploymentTrackerRegistered"): TypedContractEvent; getEvent(key: "AssetHandlerRegistered"): TypedContractEvent; getEvent(key: "BridgehubDepositBaseTokenInitiated"): TypedContractEvent; getEvent(key: "BridgehubDepositInitiated"): TypedContractEvent; getEvent(key: "BridgehubWithdrawalInitiated"): TypedContractEvent; getEvent(key: "DepositFinalizedAssetRouter"): TypedContractEvent; getEvent(key: "WithdrawalInitiatedAssetRouter"): TypedContractEvent; filters: { "AssetDeploymentTrackerRegistered(bytes32,bytes32,address)": TypedContractEvent; AssetDeploymentTrackerRegistered: TypedContractEvent; "AssetHandlerRegistered(bytes32,address)": TypedContractEvent; AssetHandlerRegistered: TypedContractEvent; "BridgehubDepositBaseTokenInitiated(uint256,address,bytes32,uint256)": TypedContractEvent; BridgehubDepositBaseTokenInitiated: TypedContractEvent; "BridgehubDepositInitiated(uint256,bytes32,address,bytes32,bytes)": TypedContractEvent; BridgehubDepositInitiated: TypedContractEvent; "BridgehubWithdrawalInitiated(uint256,address,bytes32,bytes32)": TypedContractEvent; BridgehubWithdrawalInitiated: TypedContractEvent; "DepositFinalizedAssetRouter(uint256,bytes32,bytes)": TypedContractEvent; DepositFinalizedAssetRouter: TypedContractEvent; "WithdrawalInitiatedAssetRouter(uint256,address,bytes32,bytes)": TypedContractEvent; WithdrawalInitiatedAssetRouter: TypedContractEvent; }; }