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
Remove outgoing logs from aztec.nr.
Remove outgoing note discovery flows from typescript-land.
Outgoing viewing keys are retained, but now aren't used anywhere.
2 weird problems encountered on this journey:
- #10546 <-- an
inexplicable blow-up in the debug_symbols field of two functions in the
StateFulTestContract, despite features only being removed from that
contract.
- #10558 <-- a
debug log keeping the NFT contract from breaking
---------
Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Copy file name to clipboardexpand all lines: docs/docs/migration_notes.md
+25
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,31 @@ The `Header` struct has been renamed to `BlockHeader`, and the `get_header()` fa
17
17
+ let header = context.get_block_header_at(block_number);
18
18
```
19
19
20
+
### Outgoing Events removed
21
+
22
+
Previously, every event which was emitted included:
23
+
- Incoming Header (to convey the app contract address to the recipient)
24
+
- Incoming Ciphertext (to convey the note contents to the recipient)
25
+
- Outgoing Header (served as a backup, to convey the app contract address to the "outgoing viewer" - most likely the sender)
26
+
- Outgoing Ciphertext (served as a backup, encrypting the summetric key of the incoming ciphertext to the "outgoing viewer" - most likely the sender)
27
+
28
+
The latter two have been removed from the `.emit()` functions, so now only an Incoming Header and Incoming Ciphertext will be emitted.
29
+
30
+
The interface for emitting a note has therefore changed, slightly. No more ovpk's need to be derived and passed into `.emit()` functions.
31
+
32
+
```diff
33
+
- nfts.at(to).insert(&mut new_note).emit(encode_and_encrypt_note(&mut context, from_ovpk_m, to, from));
34
+
+ nfts.at(to).insert(&mut new_note).emit(encode_and_encrypt_note(&mut context, to, from));
35
+
```
36
+
37
+
The `getOutgoingNotes` function is removed from the PXE interface.
38
+
39
+
Some aztec.nr library methods' arguments are simplified to remove an `outgoing_viewer` parameter. E.g. `ValueNote::increment`, `ValueNote::decrement`, `ValueNote::decrement_by_at_most`, `EasyPrivateUint::add`, `EasyPrivateUint::sub`.
40
+
41
+
Further changes are planned, so that:
42
+
- Outgoing ciphertexts (or any kind of abstract ciphertext) can be emitted by a contract, and on the other side discovered and then processed by the contract.
43
+
- Headers will be removed, due to the new tagging scheme.
// This function seems to be affected by the following Noir bug:
64
51
// https://github.com/noir-lang/noir/issues/5771
65
52
// If you get weird behavior it might be because of it.
66
53
pubfnencode_and_encrypt_note<Note, letN: u32>(
67
54
context: &mutPrivateContext,
68
-
ovpk: OvpkM,
69
55
recipient: AztecAddress,
70
-
// TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?
56
+
// We need this because to compute a tagging secret, we require a sender:
// TODO: We need this because to compute a tagging secret, we require a sender. Should we have the tagging secret oracle take a ovpk_m as input instead of the address?
72
+
// We need this because to compute a tagging secret, we require a sender:
0 commit comments