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 Jul 2, 2024
1 parent cda45db commit 4637304
Show file tree
Hide file tree
Showing 14 changed files with 98 additions and 98 deletions.
24 changes: 12 additions & 12 deletions barretenberg/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;

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 barretenberg/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
42 changes: 21 additions & 21 deletions l1-contracts/src/core/libraries/ConstantsGen.sol
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ library Constants {
uint256 internal constant MAX_NEW_L2_TO_L1_MSGS_PER_CALL = 2;
uint256 internal constant MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL = 32;
uint256 internal constant MAX_PUBLIC_DATA_READS_PER_CALL = 32;
uint256 internal constant MAX_NOTE_HASH_READ_REQUESTS_PER_CALL = 32;
uint256 internal constant MAX_NULLIFIER_READ_REQUESTS_PER_CALL = 32;
uint256 internal constant MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL = 32;
uint256 internal constant MAX_NOTE_HASH_READ_REQUESTS_PER_CALL = 16;
uint256 internal constant MAX_NULLIFIER_READ_REQUESTS_PER_CALL = 16;
uint256 internal constant MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL = 16;
uint256 internal constant MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL = 16;
uint256 internal constant MAX_KEY_VALIDATION_REQUESTS_PER_CALL = 16;
uint256 internal constant MAX_NOTE_ENCRYPTED_LOGS_PER_CALL = 16;
Expand All @@ -39,9 +39,9 @@ library Constants {
uint256 internal constant MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_PUBLIC_DATA_READS_PER_TX = 64;
uint256 internal constant MAX_NEW_L2_TO_L1_MSGS_PER_TX = 8;
uint256 internal constant MAX_NOTE_HASH_READ_REQUESTS_PER_TX = 128;
uint256 internal constant MAX_NULLIFIER_READ_REQUESTS_PER_TX = 128;
uint256 internal constant MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX = 128;
uint256 internal constant MAX_NOTE_HASH_READ_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_NULLIFIER_READ_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_KEY_VALIDATION_REQUESTS_PER_TX = 64;
uint256 internal constant MAX_NOTE_ENCRYPTED_LOGS_PER_TX = 64;
Expand Down Expand Up @@ -149,22 +149,22 @@ library Constants {
uint256 internal constant TX_REQUEST_LENGTH = 13;
uint256 internal constant TOTAL_FEES_LENGTH = 1;
uint256 internal constant HEADER_LENGTH = 23;
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 457;
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 578;
uint256 internal constant PRIVATE_CALL_STACK_ITEM_LENGTH = 460;
uint256 internal constant PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH = 393;
uint256 internal constant PUBLIC_CIRCUIT_PUBLIC_INPUTS_LENGTH = 482;
uint256 internal constant PRIVATE_CALL_STACK_ITEM_LENGTH = 396;
uint256 internal constant PUBLIC_CONTEXT_INPUTS_LENGTH = 41;
uint256 internal constant AGGREGATION_OBJECT_LENGTH = 16;
uint256 internal constant SCOPED_READ_REQUEST_LEN = 3;
uint256 internal constant PUBLIC_DATA_READ_LENGTH = 2;
uint256 internal constant VALIDATION_REQUESTS_LENGTH = 1602;
uint256 internal constant VALIDATION_REQUESTS_LENGTH = 1026;
uint256 internal constant PUBLIC_DATA_UPDATE_REQUEST_LENGTH = 3;
uint256 internal constant COMBINED_ACCUMULATED_DATA_LENGTH = 333;
uint256 internal constant COMBINED_CONSTANT_DATA_LENGTH = 40;
uint256 internal constant CALL_REQUEST_LENGTH = 7;
uint256 internal constant PRIVATE_ACCUMULATED_DATA_LENGTH = 1152;
uint256 internal constant PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2803;
uint256 internal constant PRIVATE_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 2227;
uint256 internal constant PUBLIC_ACCUMULATED_DATA_LENGTH = 983;
uint256 internal constant PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3834;
uint256 internal constant PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 3258;
uint256 internal constant KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH = 383;
uint256 internal constant CONSTANT_ROLLUP_DATA_LENGTH = 14;
uint256 internal constant BASE_OR_MERGE_PUBLIC_INPUTS_LENGTH = 31;
Expand Down Expand Up @@ -200,13 +200,13 @@ library Constants {
uint256 internal constant START_SIDE_EFFECT_COUNTER = 37;
uint256 internal constant TRANSACTION_FEE_SELECTOR = 40;
uint256 internal constant START_NOTE_HASH_EXISTS_WRITE_OFFSET = 0;
uint256 internal constant START_NULLIFIER_EXISTS_OFFSET = 32;
uint256 internal constant START_NULLIFIER_NON_EXISTS_OFFSET = 64;
uint256 internal constant START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET = 96;
uint256 internal constant START_SSTORE_WRITE_OFFSET = 112;
uint256 internal constant START_SLOAD_WRITE_OFFSET = 144;
uint256 internal constant START_EMIT_NOTE_HASH_WRITE_OFFSET = 176;
uint256 internal constant START_EMIT_NULLIFIER_WRITE_OFFSET = 192;
uint256 internal constant START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET = 208;
uint256 internal constant START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET = 210;
uint256 internal constant START_NULLIFIER_EXISTS_OFFSET = 16;
uint256 internal constant START_NULLIFIER_NON_EXISTS_OFFSET = 32;
uint256 internal constant START_L1_TO_L2_MSG_EXISTS_WRITE_OFFSET = 48;
uint256 internal constant START_SSTORE_WRITE_OFFSET = 64;
uint256 internal constant START_SLOAD_WRITE_OFFSET = 96;
uint256 internal constant START_EMIT_NOTE_HASH_WRITE_OFFSET = 128;
uint256 internal constant START_EMIT_NULLIFIER_WRITE_OFFSET = 144;
uint256 internal constant START_EMIT_L2_TO_L1_MSG_WRITE_OFFSET = 160;
uint256 internal constant START_EMIT_UNENCRYPTED_LOG_WRITE_OFFSET = 162;
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,6 @@ fn empty_hash() {
let hash = item.hash();

// Value from private_call_stack_item.test.ts "computes empty item hash" test
let test_data_empty_hash = 0x22786e4f971661d2e49095e6b038e5170bc47b795253916d5657c4bdd1df50bf;
let test_data_empty_hash = 0x157022d579f892f06461fb895cdf5550b24329e15e7a41df14f9dad582fa1bc5;
assert_eq(hash, test_data_empty_hash);
}
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,6 @@ fn empty_hash() {
let inputs = PrivateCircuitPublicInputs::empty();
let hash = inputs.hash();
// Value from private_circuit_public_inputs.test.ts "computes empty item hash" test
let test_data_empty_hash = 0x1970bf189adc837d1769f9f44a8b55c97d45690e7744859b71b647e808ee8622;
let test_data_empty_hash = 0x1eb5048b5bdcea5ba66519ecd1cbdb9e18fd957d52830b2bcb309f4ce9bcfbd3;
assert_eq(hash, test_data_empty_hash);
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ mod tests {
let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: true, function_data };

// Value from public_call_stack_item.test.ts "Computes a callstack item request hash" test
let test_data_call_stack_item_request_hash = 0x2751111aa213d9d21279da53531bf90c2da272cf3f959e2a2a1dfceb487bf102;
let test_data_call_stack_item_request_hash = 0x022a2b82af83606ae5a8d4955ef6215e54025193356318aefbde3b5026952953;
assert_eq(call_stack_item.hash(), test_data_call_stack_item_request_hash);
}

Expand All @@ -88,7 +88,7 @@ mod tests {
let call_stack_item = PublicCallStackItem { contract_address, public_inputs, is_execution_request: false, function_data };

// Value from public_call_stack_item.test.ts "Computes a callstack item hash" test
let test_data_call_stack_item_hash = 0x1860d00d9602966e398c6d585216baba2ffa8c5eddda5faee041136665d8482a;
let test_data_call_stack_item_hash = 0x23a1d22e7bf37df7d68e8fcbfb7e016c060194b7915e3771e2dcd72cea26e427;
assert_eq(call_stack_item.hash(), test_data_call_stack_item_hash);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,6 @@ fn empty_hash() {
let hash = inputs.hash();

// Value from public_circuit_public_inputs.test.ts "computes empty item hash" test
let test_data_empty_hash = 0x01681b19fb7fe21aa9c2cf9fb47520149f46edd679b2e7c2b2c4a279fd685125;
let test_data_empty_hash = 0x2e08158f3f0d9a94e3f17338aadc3733a15bf5d163f94cef1afd8a47b446d789;
assert_eq(hash, test_data_empty_hash);
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ global MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL: u32 = 16;
global MAX_NEW_L2_TO_L1_MSGS_PER_CALL: u32 = 2;
global MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL: u32 = 32;
global MAX_PUBLIC_DATA_READS_PER_CALL: u32 = 32;
global MAX_NOTE_HASH_READ_REQUESTS_PER_CALL: u32 = 32;
global MAX_NULLIFIER_READ_REQUESTS_PER_CALL: u32 = 32;
global MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL: u32 = 32;
global MAX_NOTE_HASH_READ_REQUESTS_PER_CALL: u32 = 16;
global MAX_NULLIFIER_READ_REQUESTS_PER_CALL: u32 = 16;
global MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL: u32 = 16;
global MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_CALL: u32 = 16;
global MAX_KEY_VALIDATION_REQUESTS_PER_CALL: u32 = 16;
global MAX_NOTE_ENCRYPTED_LOGS_PER_CALL: u32 = 16;
Expand All @@ -52,9 +52,9 @@ global PROTOCOL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: u32 = 1;
global MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX: u32 = 64; // MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX + PROTOCOL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX;
global MAX_PUBLIC_DATA_READS_PER_TX: u32 = 64;
global MAX_NEW_L2_TO_L1_MSGS_PER_TX: u32 = 8;
global MAX_NOTE_HASH_READ_REQUESTS_PER_TX: u32 = 128;
global MAX_NULLIFIER_READ_REQUESTS_PER_TX: u32 = 128;
global MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX: u32 = 128;
global MAX_NOTE_HASH_READ_REQUESTS_PER_TX: u32 = 64;
global MAX_NULLIFIER_READ_REQUESTS_PER_TX: u32 = 64;
global MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_TX: u32 = 64;
global MAX_L1_TO_L2_MSG_READ_REQUESTS_PER_TX: u32 = 64;
// TODO: for large multisends we might run out of key validation requests here but not dealing with this now as
// databus will hopefully make the issue go away.
Expand All @@ -65,7 +65,7 @@ global MAX_UNENCRYPTED_LOGS_PER_TX: u32 = 8;
// docs:end:constants

// KERNEL CIRCUIT PRIVATE INPUTS CONSTANTS
// global MAX_PUBLIC_DATA_HINTS: u32 = MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX + MAX_PUBLIC_DATA_READS_PER_TX;
// global MAX_PUBLIC_DATA_HINTS: u32 = MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX + MAX_PUBLIC_DATA_READS_PER_TX;
// FIX: Sadly, writing this as above causes a type error in type_conversion.ts.
global MAX_PUBLIC_DATA_HINTS: u32 = 128;

Expand Down
Loading

0 comments on commit 4637304

Please sign in to comment.