Skip to content

Commit e83dd2b

Browse files
authored
feat!: updated note hash and nullifier macro (AztecProtocol#3777)
Fixes AztecProtocol#3669
1 parent 286028b commit e83dd2b

File tree

28 files changed

+48
-55
lines changed

28 files changed

+48
-55
lines changed

boxes/blank/src/contracts/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ contract Blank {
2121
// own logic once you start working with private storage.
2222
// TODO: Remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented.
2323
unconstrained fn compute_note_hash_and_nullifier(
24-
contract_address: Field,
24+
contract_address: AztecAddress,
2525
nonce: Field,
2626
storage_slot: Field,
2727
serialized_note: [Field; 0]

boxes/token/src/contracts/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -376,13 +376,12 @@ contract Token {
376376
// Note 1: Needs to be defined by every contract producing logs.
377377
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
378378
unconstrained fn compute_note_hash_and_nullifier(
379-
contract_address: Field,
379+
contract_address: AztecAddress,
380380
nonce: Field,
381381
storage_slot: Field,
382382
serialized_note: [Field; TOKEN_NOTE_LEN]
383383
) -> pub [Field; 4] {
384-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
385-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
384+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
386385
if (storage_slot == 5) {
387386
note_utils::compute_note_hash_and_nullifier(TransparentNoteMethods, note_header, serialized_note)
388387
} else {

noir/aztec_macros/src/lib.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -252,12 +252,15 @@ fn check_for_storage_definition(module: &SortedModule) -> bool {
252252
module.types.iter().any(|r#struct| r#struct.name.0.contents == "Storage")
253253
}
254254

255-
// Check if "compute_note_hash_and_nullifier(Field,Field,Field,[Field; N]) -> [Field; 4]" is defined
255+
// Check if "compute_note_hash_and_nullifier(AztecAddress,Field,Field,[Field; N]) -> [Field; 4]" is defined
256256
fn check_for_compute_note_hash_and_nullifier_definition(module: &SortedModule) -> bool {
257257
module.functions.iter().any(|func| {
258258
func.def.name.0.contents == "compute_note_hash_and_nullifier"
259259
&& func.def.parameters.len() == 4
260-
&& func.def.parameters[0].typ.typ == UnresolvedTypeData::FieldElement
260+
&& match &func.def.parameters[0].typ.typ {
261+
UnresolvedTypeData::Named(path, _) => path.segments.last().unwrap().0.contents == "AztecAddress",
262+
_ => false,
263+
}
261264
&& func.def.parameters[1].typ.typ == UnresolvedTypeData::FieldElement
262265
&& func.def.parameters[2].typ.typ == UnresolvedTypeData::FieldElement
263266
// checks if the 4th parameter is an array and the Box<UnresolvedType> in

noir/tooling/nargo_fmt/tests/expected/contract.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ contract Benchmarking {
7171
}
7272

7373
unconstrained fn compute_note_hash_and_nullifier(
74-
contract_address: Field,
74+
contract_address: AztecAddress,
7575
nonce: Field,
7676
storage_slot: Field,
7777
preimage: [Field; VALUE_NOTE_LEN]

noir/tooling/nargo_fmt/tests/input/contract.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ contract Benchmarking {
6666
emit_unencrypted_log(&mut context, storage.balances.at(owner).read());
6767
}
6868

69-
unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, preimage: [Field; VALUE_NOTE_LEN]) -> [Field; 4] {
69+
unconstrained fn compute_note_hash_and_nullifier(contract_address: AztecAddress, nonce: Field, storage_slot: Field, preimage: [Field; VALUE_NOTE_LEN]) -> [Field; 4] {
7070
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
7171
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, preimage)
7272
}

yarn-project/noir-contracts/src/contracts/benchmarking_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,12 @@ contract Benchmarking {
7878
}
7979

8080
unconstrained fn compute_note_hash_and_nullifier(
81-
contract_address: Field,
81+
contract_address: AztecAddress,
8282
nonce: Field,
8383
storage_slot: Field,
8484
serialized_note: [Field; VALUE_NOTE_LEN]
8585
) -> pub [Field; 4] {
86-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
87-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
86+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
8887
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
8988
}
9089
}

yarn-project/noir-contracts/src/contracts/card_game_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,12 @@ contract CardGame {
239239
// Note 1: Needs to be defined by every contract producing logs.
240240
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
241241
unconstrained fn compute_note_hash_and_nullifier(
242-
contract_address: Field,
242+
contract_address: AztecAddress,
243243
nonce: Field,
244244
storage_slot: Field,
245245
serialized_note: [Field; VALUE_NOTE_LEN]
246246
) -> pub [Field; 4] {
247-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
248-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
247+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
249248
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
250249
}
251250
}

yarn-project/noir-contracts/src/contracts/child_contract/Nargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ type = "contract"
66

77
[dependencies]
88
aztec = { path = "../../../../aztec-nr/aztec" }
9+
protocol_types = { path = "../../../../noir-protocol-circuits/src/crates/types" }

yarn-project/noir-contracts/src/contracts/child_contract/src/main.nr

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ contract Child {
1010
state_vars::public_state::PublicState,
1111
types::type_serialization::field_serialization::{FieldSerializationMethods, FIELD_SERIALIZED_LEN},
1212
};
13+
use dep::protocol_types::address::AztecAddress;
1314

1415
struct Storage {
1516
current_value: PublicState<Field, FIELD_SERIALIZED_LEN>,
@@ -109,7 +110,7 @@ contract Child {
109110
}
110111

111112
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
112-
unconstrained fn compute_note_hash_and_nullifier(contract_address: Field, nonce: Field, storage_slot: Field, serialized_note: [Field; 0]) -> pub [Field; 4] {
113+
unconstrained fn compute_note_hash_and_nullifier(contract_address: AztecAddress, nonce: Field, storage_slot: Field, serialized_note: [Field; 0]) -> pub [Field; 4] {
113114
[0, 0, 0, 0]
114115
}
115116
}

yarn-project/noir-contracts/src/contracts/counter_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,12 @@ contract Counter {
6868

6969
// docs:start:nullifier
7070
unconstrained fn compute_note_hash_and_nullifier(
71-
contract_address: Field,
71+
contract_address: AztecAddress,
7272
nonce: Field,
7373
storage_slot: Field,
7474
serialized_note: [Field; VALUE_NOTE_LEN]
7575
) -> pub [Field; 4] {
76-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
77-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
76+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
7877
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
7978
}
8079
// docs:end:nullifier

yarn-project/noir-contracts/src/contracts/docs_example_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ contract DocsExample {
279279

280280
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
281281
unconstrained fn compute_note_hash_and_nullifier(
282-
contract_address: Field,
282+
contract_address: AztecAddress,
283283
nonce: Field,
284284
storage_slot: Field,
285285
serialized_note: [Field; 0]

yarn-project/noir-contracts/src/contracts/easy_private_token_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,12 @@ contract EasyPrivateToken {
7676
// Note 1: Needs to be defined by every contract producing logs.
7777
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
7878
unconstrained fn compute_note_hash_and_nullifier(
79-
contract_address: Field,
79+
contract_address: AztecAddress,
8080
nonce: Field,
8181
storage_slot: Field,
8282
serialized_note: [Field; VALUE_NOTE_LEN]
8383
) -> pub [Field; 4] {
84-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
85-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
84+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
8685
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
8786
}
8887
}

yarn-project/noir-contracts/src/contracts/easy_private_voting_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ contract EasyPrivateVoting {
106106
// docs:end:get_vote
107107
// docs:start:compute_note_hash_and_nullifier
108108
unconstrained fn compute_note_hash_and_nullifier(
109-
contract_address: Field,
109+
contract_address: AztecAddress,
110110
nonce: Field,
111111
storage_slot: Field,
112112
serialized_note: [Field; 0]

yarn-project/noir-contracts/src/contracts/ecdsa_account_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,13 @@ contract EcdsaAccount {
9999
// Note 1: Needs to be defined by every contract producing logs.
100100
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
101101
unconstrained fn compute_note_hash_and_nullifier(
102-
contract_address: Field,
102+
contract_address: AztecAddress,
103103
nonce: Field,
104104
storage_slot: Field,
105105
serialized_note: [Field; ECDSA_PUBLIC_KEY_NOTE_LEN]
106106
) -> pub [Field; 4] {
107107
assert(storage_slot == 1);
108-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
109-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
108+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
110109
note_utils::compute_note_hash_and_nullifier(EcdsaPublicKeyNoteInterface, note_header, serialized_note)
111110
}
112111
}

yarn-project/noir-contracts/src/contracts/escrow_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,12 @@ contract Escrow {
6868
}
6969

7070
unconstrained fn compute_note_hash_and_nullifier(
71-
contract_address: Field,
71+
contract_address: AztecAddress,
7272
nonce: Field,
7373
storage_slot: Field,
7474
serialized_note: [Field; ADDRESS_NOTE_LEN]
7575
) -> pub [Field; 4] {
76-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
77-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
76+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
7877
assert(storage_slot == 1);
7978
note_utils::compute_note_hash_and_nullifier(AddressNoteMethods, note_header, serialized_note)
8079
}

yarn-project/noir-contracts/src/contracts/inclusion_proofs_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,12 @@ contract InclusionProofs {
234234
// Note 1: Needs to be defined by every contract producing logs.
235235
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
236236
unconstrained fn compute_note_hash_and_nullifier(
237-
contract_address: Field,
237+
contract_address: AztecAddress,
238238
nonce: Field,
239239
storage_slot: Field,
240240
serialized_note: [Field; VALUE_NOTE_LEN]
241241
) -> pub [Field; 4] {
242-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
243-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
242+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
244243
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
245244
}
246245
}

yarn-project/noir-contracts/src/contracts/lending_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ contract Lending {
358358

359359
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
360360
unconstrained fn compute_note_hash_and_nullifier(
361-
contract_address: Field,
361+
contract_address: AztecAddress,
362362
nonce: Field,
363363
storage_slot: Field,
364364
serialized_note: [Field; 0]

yarn-project/noir-contracts/src/contracts/pending_commitments_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -290,13 +290,12 @@ contract PendingCommitments {
290290
// Note 1: Needs to be defined by every contract producing logs.
291291
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
292292
unconstrained fn compute_note_hash_and_nullifier(
293-
contract_address: Field,
293+
contract_address: AztecAddress,
294294
nonce: Field,
295295
storage_slot: Field,
296296
serialized_note: [Field; VALUE_NOTE_LEN]
297297
) -> pub [Field; 4] {
298-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
299-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
298+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
300299
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
301300
}
302301
}

yarn-project/noir-contracts/src/contracts/price_feed_contract/Nargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ type = "contract"
66

77
[dependencies]
88
aztec = { path = "../../../../aztec-nr/aztec" }
9+
protocol_types = { path = "../../../../noir-protocol-circuits/src/crates/types" }

yarn-project/noir-contracts/src/contracts/price_feed_contract/src/main.nr

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ contract PriceFeed {
99
public_state::PublicState,
1010
},
1111
};
12+
use dep::protocol_types::address::AztecAddress;
1213
use crate::asset::{ASSET_SERIALIZED_LEN, Asset, AssetSerializationMethods};
1314

1415
// Storage structure, containing all storage, and specifying what slots they use.
@@ -54,7 +55,7 @@ contract PriceFeed {
5455

5556
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
5657
unconstrained fn compute_note_hash_and_nullifier(
57-
contract_address: Field,
58+
contract_address: AztecAddress,
5859
nonce: Field,
5960
storage_slot: Field,
6061
serialized_note: [Field; 0]

yarn-project/noir-contracts/src/contracts/schnorr_account_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,13 @@ contract SchnorrAccount {
106106
// Note 1: Needs to be defined by every contract producing logs.
107107
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
108108
unconstrained fn compute_note_hash_and_nullifier(
109-
contract_address: Field,
109+
contract_address: AztecAddress,
110110
nonce: Field,
111111
storage_slot: Field,
112112
serialized_note: [Field; PUBLIC_KEY_NOTE_LEN]
113113
) -> pub [Field; 4] {
114114
assert(storage_slot == 1);
115-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
116-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
115+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
117116
note_utils::compute_note_hash_and_nullifier(PublicKeyNoteMethods, note_header, serialized_note)
118117
}
119118
}

yarn-project/noir-contracts/src/contracts/slow_tree_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ contract SlowTree {
167167
}
168168

169169
unconstrained fn compute_note_hash_and_nullifier(
170-
_contract_address: Field,
170+
_contract_address: AztecAddress,
171171
_nonce: Field,
172172
_storage_slot: Field,
173173
_serialized_note: [Field; 4]

yarn-project/noir-contracts/src/contracts/stateful_test_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,12 @@ contract StatefulTest {
8282
}
8383

8484
unconstrained fn compute_note_hash_and_nullifier(
85-
contract_address: Field,
85+
contract_address: AztecAddress,
8686
nonce: Field,
8787
storage_slot: Field,
8888
serialized_note: [Field; VALUE_NOTE_LEN]
8989
) -> pub [Field; 4] {
90-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
91-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
90+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
9291
note_utils::compute_note_hash_and_nullifier(ValueNoteMethods, note_header, serialized_note)
9392
}
9493
}

yarn-project/noir-contracts/src/contracts/test_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -232,14 +232,13 @@ contract Test {
232232
// Note 1: Needs to be defined by every contract producing logs.
233233
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
234234
unconstrained fn compute_note_hash_and_nullifier(
235-
contract_address: Field,
235+
contract_address: AztecAddress,
236236
nonce: Field,
237237
storage_slot: Field,
238238
serialized_note: [Field; FIELD_NOTE_LEN]
239239
) -> pub [Field; 4] {
240240
assert(storage_slot == 1);
241-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
242-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
241+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
243242
note_utils::compute_note_hash_and_nullifier(FieldNoteMethods, note_header, serialized_note)
244243
}
245244
}

yarn-project/noir-contracts/src/contracts/token_blacklist_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -384,13 +384,12 @@ contract TokenBlacklist {
384384
// Note 1: Needs to be defined by every contract producing logs.
385385
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
386386
unconstrained fn compute_note_hash_and_nullifier(
387-
contract_address: Field,
387+
contract_address: AztecAddress,
388388
nonce: Field,
389389
storage_slot: Field,
390390
preimage: [Field; TOKEN_NOTE_LEN]
391391
) -> pub [Field; 4] {
392-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
393-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
392+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
394393
if (storage_slot == 5) {
395394
note_utils::compute_note_hash_and_nullifier(TransparentNoteMethods, note_header, preimage)
396395
} else if (storage_slot == 7) {

yarn-project/noir-contracts/src/contracts/token_bridge_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ contract TokenBridge {
179179
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
180180
// docs:start:compute_note_hash_and_nullifier_placeholder
181181
unconstrained fn compute_note_hash_and_nullifier(
182-
contract_address: Field,
182+
contract_address: AztecAddress,
183183
nonce: Field,
184184
storage_slot: Field,
185185
serialized_note: [Field; 0]

yarn-project/noir-contracts/src/contracts/token_contract/src/main.nr

+2-3
Original file line numberDiff line numberDiff line change
@@ -376,13 +376,12 @@ contract Token {
376376
// Note 1: Needs to be defined by every contract producing logs.
377377
// Note 2: Having it in all the contracts gives us the ability to compute the note hash and nullifier differently for different kind of notes.
378378
unconstrained fn compute_note_hash_and_nullifier(
379-
contract_address: Field,
379+
contract_address: AztecAddress,
380380
nonce: Field,
381381
storage_slot: Field,
382382
serialized_note: [Field; TOKEN_NOTE_LEN]
383383
) -> pub [Field; 4] {
384-
let _address = AztecAddress::from_field(contract_address); // TODO(benesjan) https://github.com/AztecProtocol/aztec-packages/issues/3669
385-
let note_header = NoteHeader::new(_address, nonce, storage_slot);
384+
let note_header = NoteHeader::new(contract_address, nonce, storage_slot);
386385
if (storage_slot == 5) {
387386
note_utils::compute_note_hash_and_nullifier(TransparentNoteMethods, note_header, serialized_note)
388387
} else {

yarn-project/noir-contracts/src/contracts/uniswap_contract/src/main.nr

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ contract Uniswap {
259259

260260
// TODO: remove this placeholder once https://github.com/AztecProtocol/aztec-packages/issues/2918 is implemented
261261
unconstrained fn compute_note_hash_and_nullifier(
262-
contract_address: Field,
262+
contract_address: AztecAddress,
263263
nonce: Field,
264264
storage_slot: Field,
265265
serialized_note: [Field; 0]

0 commit comments

Comments
 (0)