import { TAddress } from '../../models/TAddress'; import { TAccount } from '../../models/TAccount'; import { ClientEventsStream, TClientEventsStreamData } from '../../clients/ClientEventsStream'; import { ContractBase } from '../../contracts/ContractBase'; import { TxWriter } from '../../txs/TxWriter'; import { ITxLogItem } from '../../txs/receipt/ITxLogItem'; import { Web3Client } from '../../clients/Web3Client'; import { IBlockchainExplorer } from '../../explorer/IBlockchainExplorer'; import { SubjectStream } from '../../class/SubjectStream'; import type { TAbiItem } from '../../types/TAbi'; import type { TEth } from '../../models/TEth'; import type { TOverrideReturns } from '../../utils/types'; export declare class IInbox extends ContractBase { address: TEth.Address; client: Web3Client; explorer: IBlockchainExplorer; constructor(address?: TEth.Address, client?: Web3Client, explorer?: IBlockchainExplorer); Types: TIInboxTypes; $meta: { class: string; }; bridge(): Promise; calculateRetryableSubmissionFee(dataLength: bigint, baseFee: bigint): Promise; createRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise; depositEth(sender: TSender): Promise; initialize(sender: TSender, _bridge: TAddress, _sequencerInbox: TAddress): Promise; pause(sender: TSender): Promise; postUpgradeInit(sender: TSender, _bridge: TAddress): Promise; sendContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise; sendL1FundedContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, data: TEth.Hex): Promise; sendL1FundedUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, data: TEth.Hex): Promise; sendL2Message(sender: TSender, messageData: TEth.Hex): Promise; sendL2MessageFromOrigin(sender: TSender, messageData: TEth.Hex): Promise; sendUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise; sequencerInbox(): Promise; unpause(sender: TSender): Promise; unsafeCreateRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise; $call(): IIInboxTxCaller; $signed(): TOverrideReturns>; $data(): IIInboxTxData; $gas(): TOverrideReturns>; onTransaction(method: TMethod, options: Parameters[0]): SubjectStream<{ tx: TEth.Tx; block: TEth.Block; calldata: { method: TMethod; arguments: TIInboxTypes['Methods'][TMethod]['arguments']; }; }>; onLog(event: keyof TEvents, cb?: (event: TClientEventsStreamData) => void): ClientEventsStream; getPastLogs(events: TEventName[], options?: TEventLogOptions>): Promise, TEventName>[]>; getPastLogs(event: TEventName, options?: TEventLogOptions>): Promise, TEventName>[]>; onInboxMessageDelivered(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; onInboxMessageDeliveredFromOrigin(fn?: (event: TClientEventsStreamData>) => void): ClientEventsStream>>; extractLogsInboxMessageDelivered(tx: TEth.TxReceipt): ITxLogItem>[]; extractLogsInboxMessageDeliveredFromOrigin(tx: TEth.TxReceipt): ITxLogItem>[]; getPastLogsInboxMessageDelivered(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { messageNum?: bigint; }; }): Promise>[]>; getPastLogsInboxMessageDeliveredFromOrigin(options?: { fromBlock?: number | Date; toBlock?: number | Date; params?: { messageNum?: bigint; }; }): Promise>[]>; abi: TAbiItem[]; } type TSender = TAccount & { value?: string | number | bigint; }; type TEventLogOptions = { fromBlock?: number | Date; toBlock?: number | Date; params?: TParams; }; export type TIInboxTypes = { Events: { InboxMessageDelivered: { outputParams: { messageNum: bigint; data: TEth.Hex; }; outputArgs: [messageNum: bigint, data: TEth.Hex]; }; InboxMessageDeliveredFromOrigin: { outputParams: { messageNum: bigint; }; outputArgs: [messageNum: bigint]; }; }; Methods: { bridge: { method: "bridge"; arguments: []; }; calculateRetryableSubmissionFee: { method: "calculateRetryableSubmissionFee"; arguments: [dataLength: bigint, baseFee: bigint]; }; createRetryableTicket: { method: "createRetryableTicket"; arguments: [to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex]; }; depositEth: { method: "depositEth"; arguments: []; }; initialize: { method: "initialize"; arguments: [_bridge: TAddress, _sequencerInbox: TAddress]; }; pause: { method: "pause"; arguments: []; }; postUpgradeInit: { method: "postUpgradeInit"; arguments: [_bridge: TAddress]; }; sendContractTransaction: { method: "sendContractTransaction"; arguments: [gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, value: bigint, data: TEth.Hex]; }; sendL1FundedContractTransaction: { method: "sendL1FundedContractTransaction"; arguments: [gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, data: TEth.Hex]; }; sendL1FundedUnsignedTransaction: { method: "sendL1FundedUnsignedTransaction"; arguments: [gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, data: TEth.Hex]; }; sendL2Message: { method: "sendL2Message"; arguments: [messageData: TEth.Hex]; }; sendL2MessageFromOrigin: { method: "sendL2MessageFromOrigin"; arguments: [messageData: TEth.Hex]; }; sendUnsignedTransaction: { method: "sendUnsignedTransaction"; arguments: [gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, value: bigint, data: TEth.Hex]; }; sequencerInbox: { method: "sequencerInbox"; arguments: []; }; unpause: { method: "unpause"; arguments: []; }; unsafeCreateRetryableTicket: { method: "unsafeCreateRetryableTicket"; arguments: [to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex]; }; }; }; interface IIInboxTxCaller { createRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; depositEth(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; initialize(sender: TSender, _bridge: TAddress, _sequencerInbox: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; pause(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; postUpgradeInit(sender: TSender, _bridge: TAddress): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendL1FundedContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendL1FundedUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendL2Message(sender: TSender, messageData: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendL2MessageFromOrigin(sender: TSender, messageData: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; sendUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; unpause(sender: TSender): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; unsafeCreateRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise<{ error?: Error & { data?: { type: string; params: any; }; }; result?: any; }>; } interface IIInboxTxData { createRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise; depositEth(sender: TSender): Promise; initialize(sender: TSender, _bridge: TAddress, _sequencerInbox: TAddress): Promise; pause(sender: TSender): Promise; postUpgradeInit(sender: TSender, _bridge: TAddress): Promise; sendContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise; sendL1FundedContractTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, to: TAddress, data: TEth.Hex): Promise; sendL1FundedUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, data: TEth.Hex): Promise; sendL2Message(sender: TSender, messageData: TEth.Hex): Promise; sendL2MessageFromOrigin(sender: TSender, messageData: TEth.Hex): Promise; sendUnsignedTransaction(sender: TSender, gasLimit: bigint, maxFeePerGas: bigint, nonce: bigint, to: TAddress, value: bigint, data: TEth.Hex): Promise; unpause(sender: TSender): Promise; unsafeCreateRetryableTicket(sender: TSender, to: TAddress, l2CallValue: bigint, maxSubmissionCost: bigint, excessFeeRefundAddress: TAddress, callValueRefundAddress: TAddress, gasLimit: bigint, maxFeePerGas: bigint, data: TEth.Hex): Promise; } type TEvents = TIInboxTypes['Events']; type TEventParams = Partial; type TEventArguments = Partial; export {};