refactor!: rename L1->L2 message content/secret to public_content_hash/private_content - #25288
Draft
benesjan wants to merge 1 commit into
Draft
refactor!: rename L1->L2 message content/secret to public_content_hash/private_content#25288benesjan wants to merge 1 commit into
benesjan wants to merge 1 commit into
Conversation
benesjan
requested review from
a team,
LeilaWang,
just-mitch and
nventuro
as code owners
August 21, 2026 16:43
benesjan
marked this pull request as draft
August 21, 2026 16:43
…h/private_content Renames the fields of the L1->L2 message per governance discussion #52: content -> publicContentHash, secretHash -> privateContentHash, and the L2-side preimage secret -> privateContent. Applied across the L1 Inbox and portals, aztec-nr (and its protocol sublib copy), protocol and app contracts, stdlib/aztec.js/CLI, and docs. The domain separator string secret_hash was renamed to private_content_hash, so the private content hash value changes (protocol break). TS<->Noir test vectors regenerated.
benesjan
force-pushed
the
jb/rename-l1-to-l2-message-fields
branch
from
August 21, 2026 16:45
636144e to
b1b4db3
Compare
benesjan
marked this pull request as ready for review
August 21, 2026 16:46
benesjan
marked this pull request as draft
August 21, 2026 17:09
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.
Implements the rename agreed in governance discussion #52. The Inbox data model is unchanged; the names now describe what the fields are:
contentpublicContentHashpublic_content_hashsecretprivateContentprivate_contentsecretHashprivateContentHashprivate_content_hashcomputeSecretHash/compute_secret_hashcomputePrivateContentHashcompute_private_content_hashDOM_SEP__SECRET_HASH("secret_hash")DomainSeparator.PRIVATE_CONTENT_HASHDOM_SEP__PRIVATE_CONTENT_HASH("private_content_hash")Breaking changes
4199652938→1309912954). Pending L1→L2 messages whose hash was computed with the old helper cannot be consumed with the new one. TS↔Noir test vectors regenerated.Inbox.sendL2Message(_recipient, _publicContentHash, _privateContentHash),L1ToL2Msgstruct /MessageSentevent fields,Inbox__PublicContentHashTooLarge/Inbox__PrivateContentHashTooLarge(new selectors),FeeJuicePortal.depositToAztecPublic(..., _privateContentHash)and its event, referenceTokenPortal/UniswapPortal.consume_l1_to_l2_message(public_content_hash, private_content, sender, leaf_index),compute_private_content_hash,compute_l1_to_l2_message_{hash,nullifier}params, TXEsend_l1_to_l2_message/send_l1_to_l2_message_from_private_content_hash. Applied to bothaztec-nrand theaztec_sublibcopy.FeeJuice.claim/TokenBridge.claim_*/ uniswap params renamed.L1ToL2Message.{publicContentHash,privateContentHash},L2Claim.{claimPrivateContent,claimPrivateContentHash},generateClaimPrivateContent,computePrivateContentHash; bot store schema bumped to v2.get-l1-to-l2-message-witness --private-content,--payment ...,claimPrivateContent=,claimPrivateContentJSON/log key.Migration notes added under "TBD". Out of scope: L2→L1 messages (
L2ToL1Msg.contentetc.),TransparentNote.secret_hash(app-level; only itscompute_private_content_hashcall updated), versioned docs.Testing
forge testfor Inbox, buckets, fee portal, portals, rollup suites: green.nargo testfor protocolconstants_tests(derives the new separator) and aztec-nr hash vector: green.yarn buildin yarn-project: clean. Unit tests instdlib(hash/messaging),bot,txe: green.private_execution.test.tsL1→L2 cases and TXE-backedl1_to_l2_messages.nrtests — these depend on freshly compiled contract artifacts; relying on CI for them and the cross-chain e2e suites.