Skip to content

Commit

Permalink
refactor: reduce note and nullifier constants (#7255)
Browse files Browse the repository at this point in the history
Reduces the `MAX_NOTE_HASH_READ_REQUESTS_PER_CALL`,
`MAX_NULLIFIER_READ_REQUESTS_PER_CALL`,
`MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL` to `16` to align
better what is possible, e.g., we should not allow doing more read
requests than what you would be able to "read" and check is up to date.
Also updating the TX versions.

Note, there might be a slight edge case, namely that if doing
`MAX_NOTE_HASH_READ_REQUESTS_PER_TX` you might not be able to really
emit MAX nulliifier because one of them was used for the tx hash.
  • Loading branch information
LHerskind authored and AztecBot committed Jul 3, 2024
1 parent 65afda0 commit 7b51366
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 34 deletions.
24 changes: 12 additions & 12 deletions cpp/pil/avm/constants_gen.pil
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ namespace constants(256);
pol MAX_NEW_L2_TO_L1_MSGS_PER_CALL = 2;
pol MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 32;
pol MAX_PUBLIC_DATA_READS_PER_CALL = 32;
pol MAX_NOTE_HASH_READ_REQUESTS_PER_CALL = 32;
pol MAX_NULLIFIER_READ_REQUESTS_PER_CALL = 32;
pol MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL = 32;
pol MAX_NOTE_HASH_READ_REQUESTS_PER_CALL = 16;
pol MAX_NULLIFIER_READ_REQUESTS_PER_CALL = 16;
pol MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL = 16;
pol MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL = 16;
pol MAX_UNENCRYPTED_LOGS_PER_CALL = 4;
pol SENDER_SELECTOR = 0;
Expand All @@ -27,13 +27,13 @@ namespace constants(256);
pol START_SIDE_EFFECT_COUNTER = 37;
pol TRANSACTION_FEE_SELECTOR = 40;
pol START_NOTE_HASH_EXISTS_WRITE_OFFSET = 0;
pol START_NULLIFIER_EXISTS_OFFSET = 32;
pol START_NULLIFIER_NON_EXISTS_OFFSET = 64;
pol START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET = 96;
pol START_SSTORE_WRITE_OFFSET = 112;
pol START_SLOAD_WRITE_OFFSET = 144;
pol START_EMIT_NOTE_HASH_WRITE_OFFSET = 176;
pol START_EMIT_NULLIFIER_WRITE_OFFSET = 192;
pol START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET = 208;
pol START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET = 210;
pol START_NULLIFIER_EXISTS_OFFSET = 16;
pol START_NULLIFIER_NON_EXISTS_OFFSET = 32;
pol START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET = 48;
pol START_SSTORE_WRITE_OFFSET = 64;
pol START_SLOAD_WRITE_OFFSET = 96;
pol START_EMIT_NOTE_HASH_WRITE_OFFSET = 128;
pol START_EMIT_NULLIFIER_WRITE_OFFSET = 144;
pol START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET = 160;
pol START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET = 162;

18 changes: 9 additions & 9 deletions cpp/src/barretenberg/relations/generated/avm/main.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1481,7 +1481,7 @@ template <typename FF_> class mainImpl {
Avm_DECLARE_VIEWS(128);

auto tmp = (main_sel_op_emit_note_hash *
(kernel_kernel_out_offset - (kernel_emit_note_hash_write_offset + FF(176))));
(kernel_kernel_out_offset - (kernel_emit_note_hash_write_offset + FF(128))));
tmp *= scaling_factor;
std::get<128>(evals) += tmp;
}
Expand All @@ -1499,8 +1499,8 @@ template <typename FF_> class mainImpl {

auto tmp = (main_sel_op_nullifier_exists *
(kernel_kernel_out_offset -
((main_ib * (kernel_nullifier_exists_write_offset + FF(32))) +
((-main_ib + FF(1)) * (kernel_nullifier_non_exists_write_offset + FF(64))))));
((main_ib * (kernel_nullifier_exists_write_offset + FF(16))) +
((-main_ib + FF(1)) * (kernel_nullifier_non_exists_write_offset + FF(32))))));
tmp *= scaling_factor;
std::get<130>(evals) += tmp;
}
Expand All @@ -1525,7 +1525,7 @@ template <typename FF_> class mainImpl {
Avm_DECLARE_VIEWS(133);

auto tmp = (main_sel_op_emit_nullifier *
(kernel_kernel_out_offset - (kernel_emit_nullifier_write_offset + FF(192))));
(kernel_kernel_out_offset - (kernel_emit_nullifier_write_offset + FF(144))));
tmp *= scaling_factor;
std::get<133>(evals) += tmp;
}
Expand All @@ -1542,7 +1542,7 @@ template <typename FF_> class mainImpl {
Avm_DECLARE_VIEWS(135);

auto tmp = (main_sel_op_l1_to_l2_msg_exists *
(kernel_kernel_out_offset - (kernel_l1_to_l2_msg_exists_write_offset + FF(96))));
(kernel_kernel_out_offset - (kernel_l1_to_l2_msg_exists_write_offset + FF(48))));
tmp *= scaling_factor;
std::get<135>(evals) += tmp;
}
Expand All @@ -1559,7 +1559,7 @@ template <typename FF_> class mainImpl {
Avm_DECLARE_VIEWS(137);

auto tmp = (main_sel_op_emit_unencrypted_log *
(kernel_kernel_out_offset - (kernel_emit_unencrypted_log_write_offset + FF(210))));
(kernel_kernel_out_offset - (kernel_emit_unencrypted_log_write_offset + FF(162))));
tmp *= scaling_factor;
std::get<137>(evals) += tmp;
}
Expand All @@ -1576,7 +1576,7 @@ template <typename FF_> class mainImpl {
Avm_DECLARE_VIEWS(139);

auto tmp = (main_sel_op_emit_l2_to_l1_msg *
(kernel_kernel_out_offset - (kernel_emit_l2_to_l1_msg_write_offset + FF(208))));
(kernel_kernel_out_offset - (kernel_emit_l2_to_l1_msg_write_offset + FF(160))));
tmp *= scaling_factor;
std::get<139>(evals) += tmp;
}
Expand All @@ -1592,7 +1592,7 @@ template <typename FF_> class mainImpl {
{
Avm_DECLARE_VIEWS(141);

auto tmp = (main_sel_op_sload * (kernel_kernel_out_offset - (kernel_sload_write_offset + FF(144))));
auto tmp = (main_sel_op_sload * (kernel_kernel_out_offset - (kernel_sload_write_offset + FF(96))));
tmp *= scaling_factor;
std::get<141>(evals) += tmp;
}
Expand All @@ -1608,7 +1608,7 @@ template <typename FF_> class mainImpl {
{
Avm_DECLARE_VIEWS(143);

auto tmp = (main_sel_op_sstore * (kernel_kernel_out_offset - (kernel_sstore_write_offset + FF(112))));
auto tmp = (main_sel_op_sstore * (kernel_kernel_out_offset - (kernel_sstore_write_offset + FF(64))));
tmp *= scaling_factor;
std::get<143>(evals) += tmp;
}
Expand Down
26 changes: 13 additions & 13 deletions cpp/src/barretenberg/vm/avm_trace/aztec_constants.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
#define MAX_NEW_L2_TO_L1_MSGS_PER_CALL 2
#define MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL 32
#define MAX_PUBLIC_DATA_READS_PER_CALL 32
#define MAX_NOTE_HASH_READ_REQUESTS_PER_CALL 32
#define MAX_NULLIFIER_READ_REQUESTS_PER_CALL 32
#define MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL 32
#define MAX_NOTE_HASH_READ_REQUESTS_PER_CALL 16
#define MAX_NULLIFIER_READ_REQUESTS_PER_CALL 16
#define MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL 16
#define MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL 16
#define MAX_UNENCRYPTED_LOGS_PER_CALL 4
#define AZTEC_ADDRESS_LENGTH 1
Expand All @@ -30,7 +30,7 @@
#define STATE_REFERENCE_LENGTH 8
#define TOTAL_FEES_LENGTH 1
#define HEADER_LENGTH 23
#define PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH 578
#define PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH 482
#define PUBLIC_CONTEXT_INPUTS_LENGTH 41
#define SENDER_SELECTOR 0
#define ADDRESS_SELECTOR 1
Expand All @@ -48,12 +48,12 @@
#define START_SIDE_EFFECT_COUNTER 37
#define TRANSACTION_FEE_SELECTOR 40
#define START_NOTE_HASH_EXISTS_WRITE_OFFSET 0
#define START_NULLIFIER_EXISTS_OFFSET 32
#define START_NULLIFIER_NON_EXISTS_OFFSET 64
#define START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET 96
#define START_SSTORE_WRITE_OFFSET 112
#define START_SLOAD_WRITE_OFFSET 144
#define START_EMIT_NOTE_HASH_WRITE_OFFSET 176
#define START_EMIT_NULLIFIER_WRITE_OFFSET 192
#define START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET 208
#define START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET 210
#define START_NULLIFIER_EXISTS_OFFSET 16
#define START_NULLIFIER_NON_EXISTS_OFFSET 32
#define START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET 48
#define START_SSTORE_WRITE_OFFSET 64
#define START_SLOAD_WRITE_OFFSET 96
#define START_EMIT_NOTE_HASH_WRITE_OFFSET 128
#define START_EMIT_NULLIFIER_WRITE_OFFSET 144
#define START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET 160
#define START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET 162

0 comments on commit 7b51366

Please sign in to comment.