feat: backward and forward LET testing + runbook + tool #1502
feat: backward and forward LET testing + runbook + tool #1502arnaubennassar wants to merge 25 commits intodevelopfrom
Conversation
|
Claude finished @arnaubennassar's task in 3m 30s —— View job Code Review Complete🚀 What's NewThis PR introduces comprehensive BackwardLET/ForwardLET recovery functionality for handling Local Exit Tree (LET) divergences between L2 and L1. It includes critical bug fixes in bridgesync, a new recovery tool with automated diagnosis, debug RPC endpoints for manual certificate submission, and extensive E2E test coverage across 6 test scenarios. 🐛 Bug Fixes
📋 Config Updates[AggSender]
# Optional — default false. NEVER enable in production.
EnableDebugSendCertificate = false
# Address whose signature is required to use the debug endpoint (default: 0x00...0).
DebugSendCertificateAuthAddress = "0x0000000000000000000000000000000000000000"
|
- Add nolint:dogsled for triple blank identifier in ComputeBackwardLETParams test - Add nolint:dupl for structurally similar test functions in rpcclient and helpers_test - Fix gci import ordering (stdlib → external/internal sorted) - Extract repeated address literals into constants to fix goconst - Add nolint:lll for long interface method signatures in run.go Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| @@ -0,0 +1,18 @@ | |||
| { | |||
There was a problem hiding this comment.
I think that this file is local, must not be part of git (in my case I have my own configurations there that will be overwritten)
|


🔄 Changes Summary
handleForwardLETEvent (PreviousDepositCount is already the next leaf index, no +1 needed) and incorrect > vs >= in archiveAndDeleteBridgesAbove (bridges at exactly DC=N must also be
archived after a BackwardLET to DC=N).
excluded L2-native token bridges.
empty hash).
stale ToBlock=0 values (e.g. from the debug endpoint) from breaking subsequent certs.
EnableDebugSendCertificate config flag (default false; never enable in production).
from the aggsender DB or agglayer admin API.
📋 Config Updates
✅ Testing
🐞 Issues
🔗 Related PRs
📝 Notes
normal sending loop is fully disabled — this is intentional to prevent conflicts between the operator's manual certificates and the automatic sender.
counter regardless of token type.