E2E Test Matrix
August 27, 2026 · View on GitHub
| Test | Requirements | Fast | Complete | Production |
|---|---|---|---|---|
TestAttachedChainRemainsCallerOwned | EVM portable | environment: 1× Anvil; 1× Attached EVM; 2 IBC instances; 1 connection; 2 attestors | environment: 1× Anvil; 1× Attached EVM; 2 IBC instances; 1 connection; 2 attestors | environment: 1× Attached EVM; 1× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestAttestedClient_MisbehaviourFreeze | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestAttestedIFTTransfer_RemoteSigner | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestAttestedMesh | None | No environment | No environment | No environment |
TestAttestedMeshConnectsEveryChainPair | None | No environment | No environment | No environment |
TestCrossRoutePacketsDoNotCollideBySequence | EVM portable | 3× Anvil; 3 IBC instances; 3 connections; 6 attestors | 3× Anvil; 3 IBC instances; 3 connections; 6 attestors | 3× Besu; 3 IBC instances; 3 connections; 6 attestors |
TestDeployConnection | EVM portable | 2× Anvil; 0 IBC instances; 0 connections; 0 attestors | 2× Anvil; 0 IBC instances; 0 connections; 0 attestors | 2× Besu; 0 IBC instances; 0 connections; 0 attestors |
TestDeployIFTBridge | EVM portable | 2× Anvil; 0 IBC instances; 0 connections; 0 attestors | 2× Anvil; 0 IBC instances; 0 connections; 0 attestors | 2× Besu; 0 IBC instances; 0 connections; 0 attestors |
TestGMPCall_AutoRelay | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestGMPCall_ErrorAcknowledgement | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestGMPCall_ICS27AccountTransfer | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestGMPCall_Timeout | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTimeout_Refund | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTimeout_RefundUsesFinalizedDestinationAnchor | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTimeout_WaitsForFinality | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_AutoRelay | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_BatchedRecvAck | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_BatchedTimeout | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_ErrorAck_Refund | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_ErrorAck_UnregisteredBridge | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_MultiAttestorQuorum | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 4 attestors | 2× Anvil; 2 IBC instances; 1 connection; 4 attestors | 2× Besu; 2 IBC instances; 1 connection; 4 attestors |
TestIFTTransfer_MultiPacketPending | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_MultiPacketSingleTx | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_RemoteSigner | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestIFTTransfer_TwoTokensSameClientPair | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestManualRelay_RequestSurvivesRestart | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestPendingPacketStatusWhileDestinationMiningPaused | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestRelay_FilteredSequences | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestRelay_FilteredTimeoutSequences | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestRelayerRecoversAfterNodeRestart | EVM (node lifecycle) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestRemoteProver_ErrorAcknowledgement | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestRemoteProver_RelaysPacket | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestRemoteProver_TimesOutPacket | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestRemoteSignerFixtureRequiresKeyID | None | No environment | No environment | No environment |
TestTransferTimeout_Refund | EVM (controlled mining) | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors |
TestTransfer_AutoRelay | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |
TestTransfer_ManualRelay | EVM portable | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Anvil; 2 IBC instances; 1 connection; 2 attestors | 2× Besu; 2 IBC instances; 1 connection; 2 attestors |