Repository navigation
Conversation
…h/private_content Implements the rename agreed in governance discussion #52. The Inbox data model is unchanged; the names now describe what the fields are: `content` is the public content hash, `secret` is the private content and `secretHash` its hash. - L1: `Inbox.sendL2Message(_recipient, _publicContentHash, _privateContentHash)`, the `L1ToL2Msg` struct and `MessageSent` event fields, `Inbox__PublicContentHashTooLarge` / `Inbox__PrivateContentHashTooLarge`, `FeeJuicePortal.depositToAztecPublic` and its event, the reference test portals. - Protocol: `DOM_SEP__SECRET_HASH` ("secret_hash") becomes `DOM_SEP__PRIVATE_CONTENT_HASH` ("private_content_hash"), so the private content hash value changes. The `aztec_sublib` L1->L2 helpers follow the new names. FeeJuice hashes with the separator, so its class id rotates: genesis constants, the C++ seed vector and the L1 checkpoint fixtures were regenerated with regenerate_genesis_constants.sh --fixtures. - Labs: the aztec-node side is carried as labs-patches/0015 until it lands upstream.
…ontent as an array
benesjan
requested review from
IlyasRidhuan,
LeilaWang,
iAmMichaelConnor,
iakovenkos,
just-mitch and
koenmtb1
as code owners
November 6, 2026 11:51
benesjan
removed request for
LeilaWang,
iAmMichaelConnor,
iakovenkos,
just-mitch and
koenmtb1
November 6, 2026 13:24
This branch has not been deployed
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.
This is a pure rename fixing stale terminology (Aztec.nr also uses the new terminology).
contentpublicContentHashpublic_content_hashsecretprivateContent(Fr[])private_content([Field; N])secretHashprivateContentHashprivate_content_hashcomputeSecretHash/compute_secret_hashcomputePrivateContentHashcompute_private_content_hashDOM_SEP__SECRET_HASH("secret_hash")DomainSeparator.PRIVATE_CONTENT_HASHDOM_SEP__PRIVATE_CONTENT_HASH("private_content_hash")How this is split
L1 and Noir protocol changes live here; everything in aztec-node goes upstream.
l1-contracts(Inbox, FeeJuicePortal, interfaces, errors, test portals and tests),noir-projects/fnd(the domain separator inconstants.nrand its test, theaztec_sublibcopy of the L1→L2 helpers,FeeJuice), the regenerated genesis constants, and the labs side carried aslabs-patches/0015-refactor-rename-L1-L2-message-content-secret-to-publ.patchso this tree's labs build and tests run against the renamed ABI and separator.main, is refactor!: rename L1->L2 message content/secret to public_content_hash/private_content aztec-labs-eng/aztec-node#689. It can only go green once aztec-node's foundation pin (BB_VERSIONinlabs-aztec-toolchain/bootstrap.sh) moves to a foundation release that includes this PR. When it merges and this repo bumps the labs gitlink past it, patch 0015 drops out of the series.Breaking changes
FeeJuicehashes with it, so its class id rotates and the genesis constants move (regenerated withnoir-projects/fnd/scripts/regenerate_genesis_constants.sh --fixtures; nothing hand-edited).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(public_content_hash, private_content: [Field; N], ...)/send_l1_to_l2_message_from_private_content_hash(TXE oracle version bumped). Theaztec_sublibcopy here follows the same names.FeeJuice.claim/TokenBridge.claim_*keep theirsecretparams (used as the message's private content).L1ToL2Message.{publicContentHash,privateContentHash},computePrivateContentHash(privateContent: Fr[])(mirrors Noir;computeSecretHashtook a single field),computeFeeJuiceMessageNullifier/getNonNullifiedL1ToL2MessageWitnesstakeprivateContent: Fr[].generateClaimSecretremoved — useFr.random()+computePrivateContentHash.L2Claim.claimSecret/claimSecretHashkeep their names.BotStore.SCHEMA_VERSION2 → 3, so older stores are discarded on startup.get-l1-to-l2-message-witness --private-content.Out of scope: L2→L1 messages (
L2ToL1Msg.contentetc.),TransparentNote.secret_hash(app-level; only itscompute_private_content_hashcall updated), versioned docs, and this repo'sdocs/(pinned to aztec-node's v6 line, which does not carry the rename).Expected failures
labs/yarn-project/aztec/src/{mainnet,testnet}_compatibility.test.tspin what the live networks were deployed with; theFeeJuiceclass id rotation breaks them until the corresponding governance upgrade. They only run on release branches and were deliberately not touched.