Skip to content

fix: debug trace bridge call matching#1608

Merged
arnaubennassar merged 4 commits intorelease/0.8from
backport/debug-trace-release-0.8
Apr 29, 2026
Merged

fix: debug trace bridge call matching#1608
arnaubennassar merged 4 commits intorelease/0.8from
backport/debug-trace-release-0.8

Conversation

@arnaubennassar
Copy link
Copy Markdown
Collaborator

🔄 Changes Summary

  • Backports 5e75ba1a (fix: debug trace bridge call matching (#1605)) to release/0.8.
  • Filters debug trace matching to actual CALL frames in bridgesync, avoiding calldata extraction from DELEGATECALL, STATICCALL, CALLCODE, or missing-type frames.
  • Adds call tracer frame type constants and includes the type field in decoded trace calls.
  • Updates the applicable bridgesync tests for call-frame filtering and mocked debug traces.

⚠️ Breaking Changes

  • 🛠️ Config: None
  • 🔌 API/CLI: None
  • 🗑️ Deprecated Features: None

📋 Config Updates

  • 🧾 Diff/Config snippet: None

✅ Testing

  • 🤖 Automatic: go test ./bridgesync -run 'TestFindCall|TestBackfillTxnSender|TestClaimCalldata' -count=1\n- 🤖 Automatic: go test ./bridgesync was also run, but failed on the release/0.8 branch after a long package run; the relevant touched tests above passed.\n- 🖱️ Manual: Not run\n\n## 🐞 Issues\n- None\n\n## 🔗 Related PRs\n- Backport of fix: debug trace bridge call matching #1605\n\n## 📝 Notes\n- claimsync changes from the original squash commit are not present in this backport because release/0.8 does not contain the claimsync downloader files changed by fix: debug trace bridge call matching #1605.

- Filter debug trace call matching to actual `CALL` frames in
`bridgesync` and `claimsync`, avoiding calldata extraction from
`DELEGATECALL`, `STATICCALL`, `CALLCODE`, or missing-type frames.
- Add call tracer frame type constants and include the `type` field in
decoded trace calls.
- Make claim calldata extraction reject ambiguous distinct matching
bridge calls while accepting duplicate identical matches.
- Extend bridge and claim sync tests for call-frame filtering, ambiguous
calldata, and updated mocked debug traces.

- 🛠️ **Config**: None
- 🔌 **API/CLI**: None
- 🗑️ **Deprecated Features**: None

- 🧾 **Diff/Config snippet**: None

- 🤖 **Automatic**: `go test ./bridgesync ./claimsync`
- 🖱️ **Manual**: Not run

- None

- None

- The fix keeps debug trace traversal behavior but only treats canonical
`CALL` frames to the bridge as extraction candidates, preventing
delegate-call calldata from being selected as if it were a direct bridge
call.
@arnaubennassar arnaubennassar changed the title [release/0.8] Fix debug trace bridge call matching fix: debug trace bridge call matching Apr 29, 2026
@sonarqubecloud
Copy link
Copy Markdown

@arnaubennassar arnaubennassar merged commit b79952c into release/0.8 Apr 29, 2026
24 of 25 checks passed
@arnaubennassar arnaubennassar deleted the backport/debug-trace-release-0.8 branch April 29, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants