E2E Test Matrix

August 27, 2026 · View on GitHub

TestRequirementsFastCompleteProduction
TestAttachedChainRemainsCallerOwnedEVM portableenvironment: 1× Anvil; 1× Attached EVM; 2 IBC instances; 1 connection; 2 attestorsenvironment: 1× Anvil; 1× Attached EVM; 2 IBC instances; 1 connection; 2 attestorsenvironment: 1× Attached EVM; 1× Besu; 2 IBC instances; 1 connection; 2 attestors
TestAttestedClient_MisbehaviourFreezeEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestAttestedIFTTransfer_RemoteSignerEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestAttestedMeshNoneNo environmentNo environmentNo environment
TestAttestedMeshConnectsEveryChainPairNoneNo environmentNo environmentNo environment
TestCrossRoutePacketsDoNotCollideBySequenceEVM portable3× Anvil; 3 IBC instances; 3 connections; 6 attestors3× Anvil; 3 IBC instances; 3 connections; 6 attestors3× Besu; 3 IBC instances; 3 connections; 6 attestors
TestDeployConnectionEVM portable2× Anvil; 0 IBC instances; 0 connections; 0 attestors2× Anvil; 0 IBC instances; 0 connections; 0 attestors2× Besu; 0 IBC instances; 0 connections; 0 attestors
TestDeployIFTBridgeEVM portable2× Anvil; 0 IBC instances; 0 connections; 0 attestors2× Anvil; 0 IBC instances; 0 connections; 0 attestors2× Besu; 0 IBC instances; 0 connections; 0 attestors
TestGMPCall_AutoRelayEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestGMPCall_ErrorAcknowledgementEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestGMPCall_ICS27AccountTransferEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestGMPCall_TimeoutEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestIFTTimeout_RefundEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTimeout_RefundUsesFinalizedDestinationAnchorEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestIFTTimeout_WaitsForFinalityEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_AutoRelayEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_BatchedRecvAckEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_BatchedTimeoutEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_ErrorAck_RefundEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_ErrorAck_UnregisteredBridgeEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_MultiAttestorQuorumEVM portable2× Anvil; 2 IBC instances; 1 connection; 4 attestors2× Anvil; 2 IBC instances; 1 connection; 4 attestors2× Besu; 2 IBC instances; 1 connection; 4 attestors
TestIFTTransfer_MultiPacketPendingEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_MultiPacketSingleTxEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_RemoteSignerEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestIFTTransfer_TwoTokensSameClientPairEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestManualRelay_RequestSurvivesRestartEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestPendingPacketStatusWhileDestinationMiningPausedEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestRelay_FilteredSequencesEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestRelay_FilteredTimeoutSequencesEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestRelayerRecoversAfterNodeRestartEVM (node lifecycle)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestRemoteProver_ErrorAcknowledgementEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestRemoteProver_RelaysPacketEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestRemoteProver_TimesOutPacketEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestRemoteSignerFixtureRequiresKeyIDNoneNo environmentNo environmentNo environment
TestTransferTimeout_RefundEVM (controlled mining)2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors
TestTransfer_AutoRelayEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors
TestTransfer_ManualRelayEVM portable2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Anvil; 2 IBC instances; 1 connection; 2 attestors2× Besu; 2 IBC instances; 1 connection; 2 attestors