ALM transition states

ALM application statuses descriptions

Foreign -> Home State Transitions

A request sent through an Arbitrary Message Bridge mediator from the Foreign chain can be in different states depending on the status of the bridge validators operations.

Below is a table with the description of possible states and clarifications what exactly this state means.

Status

Description

Clarification

Error

Transaction not found. 1. Check that the transaction hash is correct. 2. Wait several blocks for the transaction to be mined, gas price effects mining speed.

The transaction specified by the user not found.

Waiting

The specified transaction was included in a block. Validators are waiting for chain finalization before sending their confirmations.

The transaction specified by the user was included in a block but the bridge validators are waiting for a number new blocks to consider the state of the chain as final. The number of the blocks can be get by the method requiredBlockConfirmations() of the bridge contract.

Waiting

The specified transaction was included in a block. The app is looking for confirmations. Either

1. Validators are waiting for chain finalization before sending their signatures.

2. Validators are not active.

3. The bridge was stopped.

The transaction specified by the user was included in a block but no transactions from any validator have been found yet.

Waiting

The specified transaction was included in a block. Some validators have sent confirmations, others are waiting for chain finalization.

The transaction specified by the user was included in a block but the number of confirmations sent is not enough to consider the request as signed by the majority of the validators. The number of required signatures can be get by the method requiredSignatures() of the bridge contract.

Pending

The specified transaction was included in a block. A majority of validators sent confirmations which have not yet been added to a block.

It was discovered that enough confirmations were sent by the validators but most of them have not been mined yet.

Failed

The specified transaction was included in a block, but confirmations sent by a majority of validators failed. The cross-chain relay request will not be processed.

The number of failed confirmations does not allow the transaction to reach the required number of the signatures.

Success

Success

Enough number of transactions with the validators' confirmations was included in the chain. The initial request to the relay data from one chain to another was successfully executed.

Examples

The ALM will auto-update as the transaction progresses through different states.

Waiting for a transaction

Success

Click on an age metric to view the transaction details in Etherscan.

Home -> Foreign State Transitions

Similar to requests sent from the Foreign chain, a request initiated from the Home chain also can be in different states. The number of states is larger since the bridge validators performs more operations to relay the request.

Below is a table with the description of possible states and clarifications what exactly this state means.

In Home -> Foreign transactions there are waiting/pending states for confirmation as well as for execution.

Status

Description

Clarification

Error

Transaction not found. 1. Check that the transaction hash is correct. 2. Wait several blocks for the transaction to be mined, gas price effects mining speed.

The transaction specified by the user not found

Confirmation Waiting

The specified transaction was included in a block. Validators are waiting for chain finalization before sending their signatures.

The transaction specified by the user was included in a block but the bridge validators are waiting for a number new blocks to consider the state of the chain as final. The number of the blocks can be get by the method requiredBlockConfirmations() of the bridge contract.

Confirmation waiting

The specified transaction was included in a block. The app is looking for confirmations. Either

1. Validators are waiting for chain finalization before sending their signatures.

2. Validators are not active.

3. The bridge was stopped.

The transaction specified by the user was included in a block but no transactions from any validator have been found yet.

Confirmation Waiting

The specified transaction was included in a block. Some validators have sent signatures, others are waiting for chain finalization.

The transaction specified by the user was included in a block but the number of confirmations sent is not enough to consider the request as signed by the majority of the validators. The number of required signatures can be get by the method requiredSignatures() of the bridge contract.

Confirmation Pending

The specified transaction was included in a block. A majority of validators sent signatures which have not yet been added to a block.

”requiredSignatures” or more validators sent confirmations but most of them were not mined yet

Confirmation Failed

The specified transaction was included in a block, but transactions sent by a majority of validators failed. The cross-chain relay request will not be processed.

Confirmations of ”requiredSignatures” or more validators were successfully included into blocks

Execution Waiting

The specified transaction was included in a block and the validators collected signatures. Either 1. One of the validators is waiting for chain finalization. 2. A validator skipped its duty to relay signatures. 3. The execution transaction is still pending (e.g. due to the gas price spike).

Check status again after a few blocks.

Signatures were collected in the Home chain but the transaction from the validator to forward signatures was not yet found on the Foreign side. It could be also due to a specific RPC endpoint used for the chain - the oracle sent the transaction to the Foreign side but it is not possible to found it due to the RPC endpoint functionality (e.g. on Infura)

Execution Pending

The specified transaction was included in a block and the validators collected signatures. The validator’s transaction with collected signatures was sent but is not yet added to a block.

It was discovered that enough confirmations were sent by the validators but most of them have not been mined yet.

Execution Failed

The specified transaction was included in a block and the validators collected signatures. The validator’s transaction with collected signatures was sent but did not succeed.

The transaction with collected signatures was included in a block on the Foreign side but its status is “failed”.

Success

Success

The transaction with the collected signatures was applied successfully to the Foreign chain. The initial request to the relay data from one chain to another was successfully executed.

Examples

The ALM will auto-update as the transaction progresses through different states.

Waiting for Execution

Success

Click on an age metric to view the transaction details in BlockScout.

Last updated