Use Local Exit Root in burn note serial number computation#2498
Closed
Copilot wants to merge 3 commits intopgackst-user-asset-key-valuefrom
Closed
Use Local Exit Root in burn note serial number computation#2498Copilot wants to merge 3 commits intopgackst-user-asset-key-valuefrom
Copilot wants to merge 3 commits intopgackst-user-asset-key-valuefrom
Conversation
…ness Co-authored-by: mmagician <8402446+mmagician@users.noreply.github.com>
Co-authored-by: mmagician <8402446+mmagician@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update
Use Local Exit Root in burn note serial number computation
Feb 23, 2026
miden::protocol refactor for serial number uniqueness
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Nothing prevents two valid B2AGG notes with the same serial number and same asset from producing identical burn note serial numbers. The fix incorporates the updated Local Exit Root — which changes with every bridge-out — into the serial number hash.
Changes
compute_burn_note_serial_num: Changed hash fromhash(B2AGG_SERIAL_NUM, ASSET_KEY)to a two-step computation:bridge_out: Afteradd_asset_message, retrieves the updated Local Exit Root viammr_frontier_keccak_get_rootand stores its first word atLOCAL_EXIT_ROOT_MEM_PTR(address 44) for use downstream in serial number computation.LOCAL_EXIT_ROOT_MEM_PTR=44: New constant for the temporary root storage slot between the MMR update and burn note creation.✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.