Skip to content

feat: merge-train/fairies-v5 - #24891

Merged
nchamo merged 6 commits into
v5-nextfrom
merge-train/fairies-v5
Jul 21, 2026
Merged

nchamo merged 6 commits into
v5-nextfrom
merge-train/fairies-v5

Conversation

@AztecBot

@AztecBot AztecBot commented Jul 21, 2026 •

Copy link
Copy Markdown
Collaborator

BEGIN_COMMIT_OVERRIDE
docs(aztec-nr): document partial note completion trust model (#24816)
refactor(aztec-nr): shared no-op sync handler for stateless contracts (#24844)
fix: dont panic on note msgs on contracts with no notes (#24852)
docs(noir-contracts): document standard-contract re-pin consequences (#24890)
fix: change init and single claim nullif to incl owner address, add testing utilities (#24892)
chore: re-pin handshake registry with owner-bound nullifiers (#24893)
END_COMMIT_OVERRIDE

nchamo added 2 commits July 21, 2026 14:47
## Summary

- Documents the trust model of partial note completion on
`PartialUintNote` and `PartialNFTNote`:
- The validity commitment only proves that the contract created the
partial note designating `completer`.
- The storage slot and value/token id are trusted arguments, not bound
by the commitment.
- The completer is not authenticated by the check itself, so contracts
must pass `msg_sender()` as `completer`.
- Adds a WARNING that completion is not single-use: the designated
completer can complete the same partial note any number of times, so
contracts must make every completion independently paid for or
authorized in the completing function (as the token and NFT contracts
already do).
- Fixes doc overclaims that said the validity commitment verifies the
storage slot / state variable.
…#24844)

## Summary

- AuthRegistry, MultiCallEntrypoint and PublicChecks hold no private
state, but used the default `sync_state`, which performs pointless
discovery RPC calls and embeds the HandshakeRegistry address in their
bytecode.
- Adds a shared `do_sync_state_no_op` handler to aztec-nr and wires it
into those three contracts, plus SchnorrInitializerlessAccount, which
previously carried its own local copy of the same no-op.
- The pinned standard-contract artifacts are untouched, so shipped
artifacts and addresses only change at the next intentional re-pin.
nventuro and others added 3 commits July 21, 2026 19:11
A contract with no notes might otherwise panic if e.g. it processed an
offchain message related to one. I also made PXE skip the standard
contracts that have no notes and events, both to avoid such a situation
and because there's no need to do it.
…esting utilities (#24892)

Reimplementation of
#24837 - same
nullifier fix, this time extending `TestEnvironment` so that we can test
the fix works as intended.
@nventuro
nventuro requested a review from LeilaWang as a code owner July 21, 2026 19:42
@nchamo
nchamo added this pull request to the merge queue Jul 21, 2026
Merged via the queue into v5-next with commit 5db7d51 Jul 21, 2026
16 checks passed
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.

3 participants