You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Does the following changes to Aztec.nr to make
https://github.com/aztec-labs-eng/oxide possible:
1. New `aztec_utl_getTxEffect `oracle - needed by oxide's custom message
handler that implements custom TEE-related validation logic,
2. new `aztec_utl_isBlockInArchive` oracle - once again needed to verify
that the TEE output is legit,
3. exposing various note message processing functionality - the custom
message handler in oxide is fully compatible with the standard note
message processing flow (the flow for `PRIVATE_NOTE_MSG_TYPE_ID`) but it
layers the TEE-related validation on top. This means that most of the
functionality in Aztec.nr related to PRIVATE_NOTE_MSG_TYPE_ID` was
valuable there as well.
Resolves
[GK-563](https://linear.app/aztec-labs/issue/GK-563/upstream-oxide-aztecnr-changes).
Originally implemented by @sirasistant in `arv/oxide_infra_deps` to make
https://github.com/aztec-labs-eng/oxide possible. I just polished some
stuff and implemented tests.
---------
Co-authored-by: sirasistant <sirasistant@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/docs-developers/docs/resources/migration_notes.md
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,40 @@ Aztec is in active development. Each version may introduce breaking changes that
9
9
10
10
## TBD
11
11
12
+
### [Aztec.nr]`attempt_note_discovery` is no longer exposed; use `process_private_note_msg`
13
+
14
+
`attempt_note_discovery` is now crate-private. Custom message handlers (implementations of `CustomMessageHandler`) that previously called it directly should call `process_private_note_msg` instead, which runs the standard private note message decoding and discovery pipeline.
15
+
16
+
`process_private_note_msg` takes the raw `msg_metadata` and `msg_content` rather than already-decoded note fields, so it handles decoding (and silently discards undecodable messages) on your behalf:
17
+
18
+
```diff
19
+
- attempt_note_discovery(
20
+
- contract_address,
21
+
- tx_hash,
22
+
- unique_note_hashes_in_tx,
23
+
- first_nullifier_in_tx,
24
+
- compute_note_hash,
25
+
- compute_note_nullifier,
26
+
- owner,
27
+
- storage_slot,
28
+
- randomness,
29
+
- note_type_id,
30
+
- packed_note,
31
+
- );
32
+
+ process_private_note_msg(
33
+
+ contract_address,
34
+
+ tx_hash,
35
+
+ unique_note_hashes_in_tx,
36
+
+ first_nullifier_in_tx,
37
+
+ compute_note_hash,
38
+
+ compute_note_nullifier,
39
+
+ msg_metadata,
40
+
+ msg_content,
41
+
+ );
42
+
```
43
+
44
+
**Impact**: Custom message handlers that reused the standard note message processing pipeline must switch to `process_private_note_msg`. Contracts using only built-in private note handling are unaffected.
45
+
12
46
### [aztec-up] Bundled binaries are no longer exposed under bare names on `PATH`
13
47
14
48
The Aztec installer previously placed bundled binaries directly into `$HOME/.aztec/current/bin` under bare names (`forge`, `nargo`, `bb`, `pxe`, ...). Anything with the same name in your own `PATH` was silently shadowed in unrelated projects.
/// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash (non-siloed).
129
+
/// Unpacks an array into a note corresponding to `note_type_id` and then computes its note hash
130
+
/// (non-siloed).
130
131
///
131
-
/// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteHash` type, and so it can be used to call functions from that module such as `do_sync_state` and `attempt_note_discovery`.
132
+
/// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteHash` type,
133
+
/// and so it can be used to call functions from that module such as `do_sync_state` and
134
+
/// `process_private_note_msg`.
132
135
///
133
136
/// This function is automatically injected by the `#[aztec]` macro.
/// Computes a note's inner nullifier (non-siloed) given its unique note hash, preimage and extra data.
242
245
///
243
-
/// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteNullifier` type, and so it can be used to call functions from that module such as `do_sync_state` and `attempt_note_discovery`.
246
+
/// The signature of this function notably matches the `aztec::messages::discovery::ComputeNoteNullifier`
247
+
/// type, and so it can be used to call functions from that module such as `do_sync_state` and
248
+
/// `process_private_note_msg`.
244
249
///
245
250
/// This function is automatically injected by the `#[aztec]` macro.
0 commit comments