core/state: ensure deterministic hook emission order in Finalise #33644#1981
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
Ensures deterministic emission order for state change hooks during StateDB finalisation, specifically for balance burn events related to post-selfdestruct transfers.
Changes:
- Adds a pre-pass to collect self-destructed addresses and sorts them to make hook invocation order deterministic.
- Refactors
Finaliseto explicitly short-circuit when no balance hook is registered. - Introduces new imports (
bytes,sort) to support deterministic ordering.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0e61004 to
7f5138c
Compare
7f5138c to
513660a
Compare
Proposed changes
Ref: ethereum#33644
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which part of the codebase this PR will touch base on,
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) that