From 53fa7766bd8bca9b7a0970c8fb1277356d31d22a Mon Sep 17 00:00:00 2001 From: Arun Dhyani Date: Thu, 8 Jan 2026 15:12:27 +0530 Subject: [PATCH 1/3] chore: fix reorg e2e --- crates/optimism/tests/proofs/reorg/reorg_test.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/optimism/tests/proofs/reorg/reorg_test.go b/crates/optimism/tests/proofs/reorg/reorg_test.go index 9aee9a8f095..f1a0da6c4cb 100644 --- a/crates/optimism/tests/proofs/reorg/reorg_test.go +++ b/crates/optimism/tests/proofs/reorg/reorg_test.go @@ -6,6 +6,7 @@ import ( "time" "github.com/ethereum-optimism/optimism/op-devstack/devtest" + "github.com/ethereum-optimism/optimism/op-e2e/e2eutils/wait" "github.com/ethereum-optimism/optimism/op-service/eth" "github.com/ethereum-optimism/optimism/op-service/txplan" "github.com/ethereum-optimism/optimism/op-test-sequencer/sequencer/seqtypes" @@ -167,6 +168,18 @@ func TestReorgUsingAccountProof(gt *testing.T) { latestBlock := sys.L2Chain.WaitForBlock() sys.L2ELValidatorNode().WaitForBlockNumber(latestBlock.Number) + // verify that the L2A validator has reorged and reached the latest block + err := wait.For(t.Ctx(), 2*time.Second, func() (bool, error) { + block_ref, err := sys.L2ELValidatorNode().Escape().EthClient().BlockRefByNumber(ctx, latestBlock.Number) + if err != nil { + // this could happen if the validator is still syncing after reorg + l.Warn("Error fetching block reference from validator", "error", err) + return false, err + } + return block_ref.Hash == latestBlock.Hash, nil + }) + require.NoError(t, err, "Expected block hash to match latest block hash on validator") + reorgedRef_A, err := sys.L2ELSequencerNode().Escape().EthClient().BlockRefByNumber(ctx, divergenceBlockNumber) require.NoError(t, err, "Expected to be able to call BlockRefByNumber API, but got error") From fd7ad03350788eca1840de391df99f1da289d7a7 Mon Sep 17 00:00:00 2001 From: Arun Dhyani Date: Thu, 8 Jan 2026 15:51:38 +0530 Subject: [PATCH 2/3] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- crates/optimism/tests/proofs/reorg/reorg_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/optimism/tests/proofs/reorg/reorg_test.go b/crates/optimism/tests/proofs/reorg/reorg_test.go index f1a0da6c4cb..227f5f26ebe 100644 --- a/crates/optimism/tests/proofs/reorg/reorg_test.go +++ b/crates/optimism/tests/proofs/reorg/reorg_test.go @@ -170,13 +170,13 @@ func TestReorgUsingAccountProof(gt *testing.T) { // verify that the L2A validator has reorged and reached the latest block err := wait.For(t.Ctx(), 2*time.Second, func() (bool, error) { - block_ref, err := sys.L2ELValidatorNode().Escape().EthClient().BlockRefByNumber(ctx, latestBlock.Number) + blockRef, err := sys.L2ELValidatorNode().Escape().EthClient().BlockRefByNumber(ctx, latestBlock.Number) if err != nil { // this could happen if the validator is still syncing after reorg l.Warn("Error fetching block reference from validator", "error", err) return false, err } - return block_ref.Hash == latestBlock.Hash, nil + return blockRef.Hash == latestBlock.Hash, nil }) require.NoError(t, err, "Expected block hash to match latest block hash on validator") From f63c4e160a632c90a74b4ada48069d288abb5b60 Mon Sep 17 00:00:00 2001 From: Arun Dhyani Date: Thu, 8 Jan 2026 15:51:48 +0530 Subject: [PATCH 3/3] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- crates/optimism/tests/proofs/reorg/reorg_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/optimism/tests/proofs/reorg/reorg_test.go b/crates/optimism/tests/proofs/reorg/reorg_test.go index 227f5f26ebe..fd8cd3174a8 100644 --- a/crates/optimism/tests/proofs/reorg/reorg_test.go +++ b/crates/optimism/tests/proofs/reorg/reorg_test.go @@ -174,7 +174,7 @@ func TestReorgUsingAccountProof(gt *testing.T) { if err != nil { // this could happen if the validator is still syncing after reorg l.Warn("Error fetching block reference from validator", "error", err) - return false, err + return false, nil } return blockRef.Hash == latestBlock.Hash, nil })