Skip to content

Commit c58b197

Browse files
chore!: Add Side effect counter struct for ordering (AztecProtocol#3608)
For ordering, we need to keep track of the sequence in which notes were created/read. This modifies the Protocol Circuit input structs to add a "counter" value in addition to the raw "value" of a commitment, read request, and nullifier. This PR is a breaking but nonfunctional change - just adds 0 values for counters everywhere, values are set in `context.nr` but will not be validated inside the ordering kernel until a follow up PR. also removes all references to "pending_read_requests", which we've decided not to support for now due to high complexity. This is a continuation of https://github.com/AztecProtocol/aztec-packages/pull/1646/files , but for noir protocol circuits instead of the CPP ones. --------- Co-authored-by: sirasistant <sirasistant@gmail.com> Co-authored-by: Dan Lee <dan-aztec@users.noreply.github.com>
1 parent 44458be commit c58b197

File tree

90 files changed

+70273
-48657
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+70273
-48657
lines changed

barretenberg/cpp/.clang-format

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
PointerAlignment: Left
22
ColumnLimit: 120
3-
BreakBeforeBraces: Allman
43
IndentWidth: 4
54
BinPackArguments: false
65
BinPackParameters: false
7-
AllowShortFunctionsOnASingleLine: None
86
Cpp11BracedListStyle: false
97
AlwaysBreakAfterReturnType: None
108
AlwaysBreakAfterDefinitionReturnType: None
@@ -25,4 +23,4 @@ BraceWrapping:
2523
SplitEmptyRecord: false
2624
SplitEmptyNamespace: false
2725
AllowShortFunctionsOnASingleLine : Inline
28-
SortIncludes: true
26+
SortIncludes: true

circuits/cpp/src/aztec3/circuits/abis/combined_accumulated_data.hpp

-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ template <typename NCT> struct CombinedAccumulatedData {
3131
AggregationObject aggregation_object{};
3232

3333
std::array<fr, MAX_READ_REQUESTS_PER_TX> read_requests{};
34-
std::array<fr, MAX_PENDING_READ_REQUESTS_PER_TX> pending_read_requests{};
3534

3635
std::array<fr, MAX_NEW_COMMITMENTS_PER_TX> new_commitments{};
3736
std::array<fr, MAX_NEW_NULLIFIERS_PER_TX> new_nullifiers{};
@@ -61,7 +60,6 @@ template <typename NCT> struct CombinedAccumulatedData {
6160
// for serialization, update with new fields
6261
MSGPACK_FIELDS(aggregation_object,
6362
read_requests,
64-
pending_read_requests,
6563
new_commitments,
6664
new_nullifiers,
6765
nullified_commitments,
@@ -100,7 +98,6 @@ template <typename NCT> struct CombinedAccumulatedData {
10098
},
10199

102100
to_ct(read_requests),
103-
to_ct(pending_read_requests),
104101

105102
to_ct(new_commitments),
106103
to_ct(new_nullifiers),
@@ -141,7 +138,6 @@ template <typename NCT> struct CombinedAccumulatedData {
141138
},
142139

143140
to_nt(read_requests),
144-
to_nt(pending_read_requests),
145141

146142
to_nt(new_commitments),
147143
to_nt(new_nullifiers),
@@ -172,7 +168,6 @@ template <typename NCT> struct CombinedAccumulatedData {
172168
aggregation_object.add_proof_outputs_as_public_inputs();
173169

174170
set_array_public(read_requests);
175-
set_array_public(pending_read_requests);
176171

177172
set_array_public(new_commitments);
178173
set_array_public(new_nullifiers);

circuits/cpp/src/aztec3/circuits/abis/packers.hpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ struct ConstantsPacker {
2727
MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,
2828
MAX_PUBLIC_DATA_READS_PER_CALL,
2929
MAX_READ_REQUESTS_PER_CALL,
30-
MAX_PENDING_READ_REQUESTS_PER_CALL,
3130
MAX_NEW_COMMITMENTS_PER_TX,
3231
MAX_NEW_NULLIFIERS_PER_TX,
3332
MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX,
@@ -37,8 +36,7 @@ struct ConstantsPacker {
3736
MAX_PUBLIC_DATA_READS_PER_TX,
3837
MAX_NEW_CONTRACTS_PER_TX,
3938
MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX,
40-
MAX_READ_REQUESTS_PER_TX,
41-
MAX_PENDING_READ_REQUESTS_PER_TX),
39+
MAX_READ_REQUESTS_PER_TX),
4240
NVP(NUM_ENCRYPTED_LOGS_HASHES_PER_TX,
4341
NUM_UNENCRYPTED_LOGS_HASHES_PER_TX,
4442
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
@@ -132,6 +130,7 @@ struct GeneratorIndexPacker {
132130
int GLOBAL_VARIABLES = GeneratorIndex::GLOBAL_VARIABLES;
133131
int PARTIAL_ADDRESS = GeneratorIndex::PARTIAL_ADDRESS;
134132
int BLOCK_HASH = GeneratorIndex::BLOCK_HASH;
133+
int SIDE_EFFECT = GeneratorIndex::SIDE_EFFECT;
135134
int TX_REQUEST = GeneratorIndex::TX_REQUEST;
136135
int SIGNATURE_PAYLOAD = GeneratorIndex::SIGNATURE_PAYLOAD;
137136
int VK = GeneratorIndex::VK;
@@ -170,6 +169,7 @@ struct GeneratorIndexPacker {
170169
GLOBAL_VARIABLES,
171170
PARTIAL_ADDRESS,
172171
BLOCK_HASH,
172+
SIDE_EFFECT,
173173
TX_REQUEST,
174174
SIGNATURE_PAYLOAD,
175175
VK,

circuits/cpp/src/aztec3/circuits/abis/private_circuit_public_inputs.hpp

+1-17
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ template <typename NCT> class PrivateCircuitPublicInputs {
2828
std::array<fr, RETURN_VALUES_LENGTH> return_values{};
2929

3030
std::array<fr, MAX_READ_REQUESTS_PER_CALL> read_requests{};
31-
std::array<fr, MAX_PENDING_READ_REQUESTS_PER_CALL> pending_read_requests{};
3231

3332
std::array<fr, MAX_NEW_COMMITMENTS_PER_CALL> new_commitments{};
3433
std::array<fr, MAX_NEW_NULLIFIERS_PER_CALL> new_nullifiers{};
@@ -58,7 +57,6 @@ template <typename NCT> class PrivateCircuitPublicInputs {
5857
args_hash,
5958
return_values,
6059
read_requests,
61-
pending_read_requests,
6260
new_commitments,
6361
new_nullifiers,
6462
nullified_commitments,
@@ -78,7 +76,7 @@ template <typename NCT> class PrivateCircuitPublicInputs {
7876
{
7977
return call_context == other.call_context && args_hash == other.args_hash &&
8078
return_values == other.return_values && read_requests == other.read_requests &&
81-
pending_read_requests == other.pending_read_requests && new_commitments == other.new_commitments &&
79+
new_commitments == other.new_commitments &&
8280
new_nullifiers == other.new_nullifiers && nullified_commitments == other.nullified_commitments &&
8381
private_call_stack == other.private_call_stack && public_call_stack == other.public_call_stack &&
8482
new_l2_to_l1_msgs == other.new_l2_to_l1_msgs && encrypted_logs_hash == other.encrypted_logs_hash &&
@@ -105,7 +103,6 @@ template <typename NCT> class PrivateCircuitPublicInputs {
105103
to_ct(return_values),
106104

107105
to_ct(read_requests),
108-
to_ct(pending_read_requests),
109106

110107
to_ct(new_commitments),
111108
to_ct(new_nullifiers),
@@ -145,7 +142,6 @@ template <typename NCT> class PrivateCircuitPublicInputs {
145142
to_nt(return_values),
146143

147144
to_nt(read_requests),
148-
to_nt(pending_read_requests),
149145

150146
to_nt(new_commitments),
151147
to_nt(new_nullifiers),
@@ -184,7 +180,6 @@ template <typename NCT> class PrivateCircuitPublicInputs {
184180
spread_arr_into_vec(return_values, inputs);
185181

186182
spread_arr_into_vec(read_requests, inputs);
187-
spread_arr_into_vec(pending_read_requests, inputs);
188183

189184
spread_arr_into_vec(new_commitments, inputs);
190185
spread_arr_into_vec(new_nullifiers, inputs);
@@ -235,7 +230,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
235230
std::array<opt_fr, RETURN_VALUES_LENGTH> return_values;
236231

237232
std::array<opt_fr, MAX_READ_REQUESTS_PER_CALL> read_requests;
238-
std::array<opt_fr, MAX_PENDING_READ_REQUESTS_PER_CALL> pending_read_requests;
239233

240234
std::array<opt_fr, MAX_NEW_COMMITMENTS_PER_CALL> new_commitments;
241235
std::array<opt_fr, MAX_NEW_NULLIFIERS_PER_CALL> new_nullifiers;
@@ -263,7 +257,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
263257
args_hash,
264258
return_values,
265259
read_requests,
266-
pending_read_requests,
267260
new_commitments,
268261
new_nullifiers,
269262
nullified_commitments,
@@ -288,7 +281,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
288281
std::array<opt_fr, RETURN_VALUES_LENGTH> const& return_values,
289282

290283
std::array<opt_fr, MAX_READ_REQUESTS_PER_CALL> const& read_requests,
291-
std::array<opt_fr, MAX_PENDING_READ_REQUESTS_PER_CALL> const& pending_read_requests,
292284

293285
std::array<opt_fr, MAX_NEW_COMMITMENTS_PER_CALL> const& new_commitments,
294286
std::array<opt_fr, MAX_NEW_NULLIFIERS_PER_CALL> const& new_nullifiers,
@@ -314,7 +306,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
314306
, args_hash(args_hash)
315307
, return_values(return_values)
316308
, read_requests(read_requests)
317-
, pending_read_requests(pending_read_requests)
318309
, new_commitments(new_commitments)
319310
, new_nullifiers(new_nullifiers)
320311
, nullified_commitments(nullified_commitments)
@@ -342,7 +333,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
342333
new_inputs.return_values.fill(std::nullopt);
343334

344335
new_inputs.read_requests.fill(std::nullopt);
345-
new_inputs.pending_read_requests.fill(std::nullopt);
346336

347337
new_inputs.new_commitments.fill(std::nullopt);
348338
new_inputs.new_nullifiers.fill(std::nullopt);
@@ -408,7 +398,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
408398
make_unused_array_elements_zero(builder, return_values);
409399

410400
make_unused_array_elements_zero(builder, read_requests);
411-
make_unused_array_elements_zero(builder, pending_read_requests);
412401

413402
make_unused_array_elements_zero(builder, new_commitments);
414403
make_unused_array_elements_zero(builder, new_nullifiers);
@@ -448,7 +437,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
448437
set_array_public(return_values);
449438

450439
set_array_public(read_requests);
451-
set_array_public(pending_read_requests);
452440

453441
set_array_public(new_commitments);
454442
set_array_public(new_nullifiers);
@@ -490,7 +478,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
490478
to_ct(return_values),
491479

492480
to_ct(read_requests),
493-
to_ct(pending_read_requests),
494481

495482
to_ct(new_commitments),
496483
to_ct(new_nullifiers),
@@ -532,7 +519,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
532519
to_nt(return_values),
533520

534521
to_nt(read_requests),
535-
to_nt(pending_read_requests),
536522

537523
to_nt(new_commitments),
538524
to_nt(new_nullifiers),
@@ -575,7 +561,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
575561
spread_arr_opt_into_vec(return_values, inputs);
576562

577563
spread_arr_opt_into_vec(read_requests, inputs);
578-
spread_arr_opt_into_vec(pending_read_requests, inputs);
579564

580565
spread_arr_opt_into_vec(new_commitments, inputs);
581566
spread_arr_opt_into_vec(new_nullifiers, inputs);
@@ -613,7 +598,6 @@ template <typename NCT> class OptionalPrivateCircuitPublicInputs {
613598
.return_values = map(return_values, get_value),
614599

615600
.read_requests = map(read_requests, get_value),
616-
.pending_read_requests = map(pending_read_requests, get_value),
617601

618602
.new_commitments = map(new_commitments, get_value),
619603
.new_nullifiers = map(new_nullifiers, get_value),

circuits/cpp/src/aztec3/circuits/kernel/private/common.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ void common_validate_arrays(DummyBuilder& builder, PrivateCircuitPublicInputs<NT
132132
// to push_array_to_array() routines which rely on the passed arrays to be well-formed.
133133
validate_array(builder, app_public_inputs.return_values, "App public inputs - Return values");
134134
validate_array(builder, app_public_inputs.read_requests, "App public inputs - Read requests");
135-
validate_array(builder, app_public_inputs.pending_read_requests, "App public inputs - Pending read requests");
136135
validate_array(builder, app_public_inputs.new_commitments, "App public inputs - New commitments");
137136
validate_array(builder, app_public_inputs.new_nullifiers, "App public inputs - New nullifiers");
138137
validate_array(builder, app_public_inputs.nullified_commitments, "App public inputs - Nullified commitments");
@@ -152,7 +151,6 @@ void common_validate_previous_kernel_arrays(DummyBuilder& builder, CombinedAccum
152151
{
153152
// Each of the following arrays is expected to be zero-padded.
154153
validate_array(builder, end.read_requests, "Accumulated data - Read Requests");
155-
validate_array(builder, end.pending_read_requests, "Accumulated data - Pending read Requests");
156154
validate_array(builder, end.new_commitments, "Accumulated data - New commitments");
157155
validate_array(builder, end.new_nullifiers, "Accumulated data - New nullifiers");
158156
validate_array(builder, end.nullified_commitments, "Accumulated data - Nullified commitments");
@@ -183,7 +181,6 @@ void common_update_end_values(DummyBuilder& builder,
183181
const auto& read_requests = private_call_public_inputs.read_requests;
184182
const auto& read_request_membership_witnesses = private_call.read_request_membership_witnesses;
185183

186-
// don't update pending_read_requests, because those just get passed through without any change
187184

188185
const auto& new_commitments = private_call_public_inputs.new_commitments;
189186
const auto& new_nullifiers = private_call_public_inputs.new_nullifiers;

circuits/cpp/src/aztec3/circuits/kernel/private/native_private_kernel_circuit_init.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,6 @@ void update_end_values(DummyCircuitBuilder& builder,
118118
builder.do_assert(is_array_empty(public_inputs.end.read_requests),
119119
"public_inputs.end.read_requests must start as empty in initial kernel iteration",
120120
CircuitErrorCode::PRIVATE_KERNEL__UNSUPPORTED_OP);
121-
builder.do_assert(is_array_empty(public_inputs.end.pending_read_requests),
122-
"public_inputs.end.pending_read_requests must start as empty in initial kernel iteration",
123-
CircuitErrorCode::PRIVATE_KERNEL__UNSUPPORTED_OP);
124121
builder.do_assert(public_inputs.end.encrypted_log_preimages_length == NT::fr(0),
125122
"public_inputs.end.encrypted_log_preimages_length must start as 0 in initial kernel iteration",
126123
CircuitErrorCode::PRIVATE_KERNEL__UNSUPPORTED_OP);

circuits/cpp/src/aztec3/constants.hpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ constexpr size_t MAX_NEW_L2_TO_L1_MSGS_PER_CALL = 2;
5252
constexpr size_t MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 16;
5353
constexpr size_t MAX_PUBLIC_DATA_READS_PER_CALL = 16;
5454
constexpr size_t MAX_READ_REQUESTS_PER_CALL = 32;
55-
constexpr size_t MAX_PENDING_READ_REQUESTS_PER_CALL = MAX_READ_REQUESTS_PER_CALL;
5655

5756

5857
// "PER TRANSACTION" CONSTANTS
@@ -66,8 +65,6 @@ constexpr size_t MAX_PUBLIC_DATA_READS_PER_TX = 16;
6665
constexpr size_t MAX_NEW_CONTRACTS_PER_TX = 1;
6766
constexpr size_t MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX = 4;
6867
constexpr size_t MAX_READ_REQUESTS_PER_TX = MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL * MAX_READ_REQUESTS_PER_CALL;
69-
constexpr size_t MAX_PENDING_READ_REQUESTS_PER_TX =
70-
MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL * MAX_PENDING_READ_REQUESTS_PER_CALL;
7168
constexpr size_t NUM_ENCRYPTED_LOGS_HASHES_PER_TX = 1;
7269
constexpr size_t NUM_UNENCRYPTED_LOGS_HASHES_PER_TX = 1;
7370
// docs:end:constants
@@ -324,15 +321,15 @@ constexpr size_t CONTRACT_DEPLOYMENT_DATA_LENGTH = 6;
324321
// should change this constant as well as the offsets in private_call_stack_item.nr
325322
constexpr size_t PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH =
326323
CALL_CONTEXT_LENGTH + 1 // +1 for args_hash
327-
+ RETURN_VALUES_LENGTH + MAX_READ_REQUESTS_PER_CALL + MAX_PENDING_READ_REQUESTS_PER_CALL +
324+
+ RETURN_VALUES_LENGTH + MAX_READ_REQUESTS_PER_CALL +
328325
MAX_NEW_COMMITMENTS_PER_CALL + 2 * MAX_NEW_NULLIFIERS_PER_CALL + MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL +
329326
MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL + MAX_NEW_L2_TO_L1_MSGS_PER_CALL + NUM_FIELDS_PER_SHA256 +
330327
NUM_FIELDS_PER_SHA256 + 2 // + 2 for logs preimage lengths
331328
+ BLOCK_HEADER_LENGTH + CONTRACT_DEPLOYMENT_DATA_LENGTH + 2; // + 2 for chain_id and version
332329

333330
constexpr size_t PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH =
334331
1 + 1 // call_context_hash + args_hash
335-
+ RETURN_VALUES_LENGTH + MAX_READ_REQUESTS_PER_CALL + MAX_PENDING_READ_REQUESTS_PER_CALL +
332+
+ RETURN_VALUES_LENGTH + MAX_READ_REQUESTS_PER_CALL +
336333
MAX_NEW_COMMITMENTS_PER_CALL + 2 * MAX_NEW_NULLIFIERS_PER_CALL + MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL +
337334
MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL + MAX_NEW_L2_TO_L1_MSGS_PER_CALL + NUM_FIELDS_PER_SHA256 +
338335
NUM_FIELDS_PER_SHA256 + 2 // + 2 for logs preimage lengths

l1-contracts/src/core/libraries/ConstantsGen.sol

+5-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ library Constants {
2424
uint256 internal constant MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 16;
2525
uint256 internal constant MAX_PUBLIC_DATA_READS_PER_CALL = 16;
2626
uint256 internal constant MAX_READ_REQUESTS_PER_CALL = 32;
27-
uint256 internal constant MAX_PENDING_READ_REQUESTS_PER_CALL = 32;
2827
uint256 internal constant MAX_NEW_COMMITMENTS_PER_TX = 64;
2928
uint256 internal constant MAX_NEW_NULLIFIERS_PER_TX = 64;
3029
uint256 internal constant MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX = 8;
@@ -35,7 +34,6 @@ library Constants {
3534
uint256 internal constant MAX_NEW_CONTRACTS_PER_TX = 1;
3635
uint256 internal constant MAX_OPTIONALLY_REVEALED_DATA_LENGTH_PER_TX = 4;
3736
uint256 internal constant MAX_READ_REQUESTS_PER_TX = 128;
38-
uint256 internal constant MAX_PENDING_READ_REQUESTS_PER_TX = 128;
3937
uint256 internal constant NUM_ENCRYPTED_LOGS_HASHES_PER_TX = 1;
4038
uint256 internal constant NUM_UNENCRYPTED_LOGS_HASHES_PER_TX = 1;
4139
uint256 internal constant NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP = 16;
@@ -69,19 +67,18 @@ library Constants {
6967
uint256 internal constant GET_NOTE_ORACLE_RETURN_LENGTH = 23;
7068
uint256 internal constant MAX_NOTES_PER_PAGE = 10;
7169
uint256 internal constant VIEW_NOTE_ORACLE_RETURN_LENGTH = 212;
72-
uint256 internal constant CALL_CONTEXT_LENGTH = 7;
70+
uint256 internal constant CALL_CONTEXT_LENGTH = 8;
7371
uint256 internal constant BLOCK_HEADER_LENGTH = 7;
7472
uint256 internal constant FUNCTION_DATA_LENGTH = 4;
7573
uint256 internal constant CONTRACT_DEPLOYMENT_DATA_LENGTH = 6;
76-
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 155;
74+
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 189;
7775
uint256 internal constant CONTRACT_STORAGE_UPDATE_REQUEST_LENGTH = 3;
7876
uint256 internal constant CONTRACT_STORAGE_READ_LENGTH = 2;
79-
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 142;
77+
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 190;
8078
uint256 internal constant GET_NOTES_ORACLE_RETURN_LENGTH = 674;
81-
uint256 internal constant EMPTY_NULLIFIED_COMMITMENT = 1000000;
82-
uint256 internal constant CALL_PRIVATE_FUNCTION_RETURN_SIZE = 161;
79+
uint256 internal constant CALL_PRIVATE_FUNCTION_RETURN_SIZE = 195;
8380
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH = 87;
84-
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH = 144;
81+
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_HASH_INPUT_LENGTH = 177;
8582
uint256 internal constant COMMITMENTS_NUM_BYTES_PER_BASE_ROLLUP = 2048;
8683
uint256 internal constant NULLIFIERS_NUM_BYTES_PER_BASE_ROLLUP = 2048;
8784
uint256 internal constant PUBLIC_DATA_WRITES_NUM_BYTES_PER_BASE_ROLLUP = 1024;

0 commit comments

Comments
 (0)