Skip to main content

L2ToL1MessageClassic

Classes

L2ToL1MessageReaderClassic

Provides read-only access for classic l2-to-l1-messages

Extends

  • L2ToL1MessageClassic

Extended by

Properties

PropertyModifierTypeDefault valueDescriptionInherited from
batchNumberreadonlyBigNumberundefinedThe number of the batch this message is part ofL2ToL1MessageClassic.batchNumber
indexInBatchreadonlyBigNumberundefinedThe index of this message in the batchL2ToL1MessageClassic.indexInBatch
outboxAddressprotectednull | stringnullContains the classic outbox address, or set to zero address if this network
did not have a classic outbox deployed
-

Methods

getFirstExecutableBlock()
getFirstExecutableBlock(l2Provider: Provider): Promise<null | BigNumber>

Estimates the L1 block number in which this L2 to L1 tx will be available for execution

Parameters
ParameterTypeDescription
l2ProviderProvider
Returns

Promise<null | BigNumber>

Always returns null for classic l2toL1 messages since they can be executed in any block now.

Source

message/L2ToL1MessageClassic.ts:374

getOutboxAddress()
protected getOutboxAddress(l2Provider: Provider, batchNumber: number): Promise<string>

Classic had 2 outboxes, we need to find the correct one for the provided batch number

Parameters
ParameterTypeDescription
l2ProviderProvider
batchNumbernumber
Returns

Promise<string>

Source

message/L2ToL1MessageClassic.ts:206

hasExecuted()
hasExecuted(l2Provider: Provider): Promise<boolean>

Check if given outbox message has already been executed

Parameters
ParameterType
l2ProviderProvider
Returns

Promise<boolean>

Source

message/L2ToL1MessageClassic.ts:293

status()
status(l2Provider: Provider): Promise<L2ToL1MessageStatus>

Get the status of this message In order to check if the message has been executed proof info must be provided.

Parameters
ParameterType
l2ProviderProvider
Returns

Promise<L2ToL1MessageStatus>

Source

message/L2ToL1MessageClassic.ts:331

tryGetProof()
tryGetProof(l2Provider: Provider): Promise<null | MessageBatchProofInfo>

Get the execution proof for this message. Returns null if the batch does not exist yet.

Parameters
ParameterTypeDescription
l2ProviderProvider
Returns

Promise<null | MessageBatchProofInfo>

Source

message/L2ToL1MessageClassic.ts:277

waitUntilOutboxEntryCreated()
waitUntilOutboxEntryCreated(l2Provider: Provider, retryDelay: number): Promise<CONFIRMED | EXECUTED>

Waits until the outbox entry has been created, and will not return until it has been. WARNING: Outbox entries are only created when the corresponding node is confirmed. Which can take 1 week+, so waiting here could be a very long operation.

Parameters
ParameterTypeDefault valueDescription
l2ProviderProviderundefined-
retryDelaynumber500
Returns

Promise<CONFIRMED | EXECUTED>

outbox entry status (either executed or confirmed but not pending)

Source

message/L2ToL1MessageClassic.ts:354

fromBatchNumber()
static fromBatchNumber<T>(
l1SignerOrProvider: T,
batchNumber: BigNumber,
indexInBatch: BigNumber,
l1Provider?: Provider): L2ToL1MessageReaderOrWriterClassic<T>

Instantiates a new L2ToL1MessageWriterClassic or L2ToL1MessageReaderClassic object.

Type parameters
Type parameter
T extends SignerOrProvider
Parameters
ParameterTypeDescription
l1SignerOrProviderTSigner or provider to be used for executing or reading the L2-to-L1 message.
batchNumberBigNumberThe number of the batch containing the L2-to-L1 message.
indexInBatchBigNumberThe index of the L2-to-L1 message within the batch.
l1Provider?ProviderOptional. Used to override the Provider which is attached to l1SignerOrProvider in case you need more control. This will be a required parameter in a future major version update.
Returns

L2ToL1MessageReaderOrWriterClassic<T>

Inherited from

L2ToL1MessageClassic.fromBatchNumber

Source

message/L2ToL1MessageClassic.ts:125


L2ToL1MessageWriterClassic

Provides read and write access for classic l2-to-l1-messages

Extends

Constructors

new L2ToL1MessageWriterClassic()
new L2ToL1MessageWriterClassic(
l1Signer: Signer,
batchNumber: BigNumber,
indexInBatch: BigNumber,
l1Provider?: Provider): L2ToL1MessageWriterClassic

Instantiates a new L2ToL1MessageWriterClassic object.

Parameters
ParameterTypeDescription
l1SignerSignerThe signer to be used for executing the L2-to-L1 message.
batchNumberBigNumberThe number of the batch containing the L2-to-L1 message.
indexInBatchBigNumberThe index of the L2-to-L1 message within the batch.
l1Provider?ProviderOptional. Used to override the Provider which is attached to l1Signer in case you need more control. This will be a required parameter in a future major version update.
Returns

L2ToL1MessageWriterClassic

Overrides

L2ToL1MessageReaderClassic.constructor

Source

message/L2ToL1MessageClassic.ts:394

Properties

PropertyModifierTypeDefault valueDescriptionInherited from
batchNumberreadonlyBigNumberundefinedThe number of the batch this message is part ofL2ToL1MessageReaderClassic.batchNumber
indexInBatchreadonlyBigNumberundefinedThe index of this message in the batchL2ToL1MessageReaderClassic.indexInBatch
l1SignerprivateSignerundefinedThe signer to be used for executing the L2-to-L1 message.-
outboxAddressprotectednull | stringnullContains the classic outbox address, or set to zero address if this network
did not have a classic outbox deployed
L2ToL1MessageReaderClassic.outboxAddress

Methods

execute()
execute(l2Provider: Provider, overrides?: Overrides): Promise<ContractTransaction>

Executes the L2ToL1Message on L1. Will throw an error if the outbox entry has not been created, which happens when the corresponding assertion is confirmed.

Parameters
ParameterType
l2ProviderProvider
overrides?Overrides
Returns

Promise<ContractTransaction>

Source

message/L2ToL1MessageClassic.ts:409

getFirstExecutableBlock()
getFirstExecutableBlock(l2Provider: Provider): Promise<null | BigNumber>

Estimates the L1 block number in which this L2 to L1 tx will be available for execution

Parameters
ParameterTypeDescription
l2ProviderProvider
Returns

Promise<null | BigNumber>

Always returns null for classic l2toL1 messages since they can be executed in any block now.

Inherited from

L2ToL1MessageReaderClassic . getFirstExecutableBlock

Source

message/L2ToL1MessageClassic.ts:374

getOutboxAddress()
protected getOutboxAddress(l2Provider: Provider, batchNumber: number): Promise<string>

Classic had 2 outboxes, we need to find the correct one for the provided batch number

Parameters
ParameterTypeDescription
l2ProviderProvider
batchNumbernumber
Returns

Promise<string>

Inherited from

L2ToL1MessageReaderClassic . getOutboxAddress

Source

message/L2ToL1MessageClassic.ts:206

hasExecuted()
hasExecuted(l2Provider: Provider): Promise<boolean>

Check if given outbox message has already been executed

Parameters
ParameterType
l2ProviderProvider
Returns

Promise<boolean>

Inherited from

L2ToL1MessageReaderClassic . hasExecuted

Source

message/L2ToL1MessageClassic.ts:293

status()
status(l2Provider: Provider): Promise<L2ToL1MessageStatus>

Get the status of this message In order to check if the message has been executed proof info must be provided.

Parameters
ParameterType
l2ProviderProvider
Returns

Promise<L2ToL1MessageStatus>

Inherited from

L2ToL1MessageReaderClassic . status

Source

message/L2ToL1MessageClassic.ts:331

tryGetProof()
tryGetProof(l2Provider: Provider): Promise<null | MessageBatchProofInfo>

Get the execution proof for this message. Returns null if the batch does not exist yet.

Parameters
ParameterTypeDescription
l2ProviderProvider
Returns

Promise<null | MessageBatchProofInfo>

Inherited from

L2ToL1MessageReaderClassic . tryGetProof

Source

message/L2ToL1MessageClassic.ts:277

waitUntilOutboxEntryCreated()
waitUntilOutboxEntryCreated(l2Provider: Provider, retryDelay: number): Promise<CONFIRMED | EXECUTED>

Waits until the outbox entry has been created, and will not return until it has been. WARNING: Outbox entries are only created when the corresponding node is confirmed. Which can take 1 week+, so waiting here could be a very long operation.

Parameters
ParameterTypeDefault valueDescription
l2ProviderProviderundefined-
retryDelaynumber500
Returns

Promise<CONFIRMED | EXECUTED>

outbox entry status (either executed or confirmed but not pending)

Inherited from

L2ToL1MessageReaderClassic . waitUntilOutboxEntryCreated

Source

message/L2ToL1MessageClassic.ts:354

fromBatchNumber()
static fromBatchNumber<T>(
l1SignerOrProvider: T,
batchNumber: BigNumber,
indexInBatch: BigNumber,
l1Provider?: Provider): L2ToL1MessageReaderOrWriterClassic<T>

Instantiates a new L2ToL1MessageWriterClassic or L2ToL1MessageReaderClassic object.

Type parameters
Type parameter
T extends SignerOrProvider
Parameters
ParameterTypeDescription
l1SignerOrProviderTSigner or provider to be used for executing or reading the L2-to-L1 message.
batchNumberBigNumberThe number of the batch containing the L2-to-L1 message.
indexInBatchBigNumberThe index of the L2-to-L1 message within the batch.
l1Provider?ProviderOptional. Used to override the Provider which is attached to l1SignerOrProvider in case you need more control. This will be a required parameter in a future major version update.
Returns

L2ToL1MessageReaderOrWriterClassic<T>

Inherited from

L2ToL1MessageReaderClassic . fromBatchNumber

Source

message/L2ToL1MessageClassic.ts:125

Type Aliases

L2ToL1MessageReaderOrWriterClassic<T>

type L2ToL1MessageReaderOrWriterClassic<T>: T extends Provider ? L2ToL1MessageReaderClassic : L2ToL1MessageWriterClassic;

Conditional type for Signer or Provider. If T is of type Provider then L2ToL1MessageReaderOrWriter<T> will be of type L2ToL1MessageReader. If T is of type Signer then L2ToL1MessageReaderOrWriter<T> will be of type L2ToL1MessageWriter.

Type parameters

Type parameter
T extends SignerOrProvider

Source

message/L2ToL1MessageClassic.ts:98