Convention for constant array lengths are mainly divided in 2 classes:
FUNCTION CALL
TRANSACTION
Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as
commitment, or nullifier, e.g.,:
MAX_NULLIFIERS_PER_CALL
MAX_NOTE_HASHES_PER_TX
In the kernel circuits, we accumulate elements such as note hashes and the nullifiers from all functions calls in a
transaction. Therefore, we always must have:
MAX_XXX_PER_TX >= MAX_XXX_PER_CALL
For instance:
MAX_NOTE_HASHES_PER_TX >= MAX_NOTE_HASHES_PER_CALL
MAX_NULLIFIERS_PER_TX >= MAX_NULLIFIERS_PER_CALL
Convention for constant array lengths are mainly divided in 2 classes:
Agreed convention is to use MAX_XXX_PER_CALL resp. MAX_XXX_PER_TX, where XXX denotes a type of element such as commitment, or nullifier, e.g.,:
In the kernel circuits, we accumulate elements such as note hashes and the nullifiers from all functions calls in a transaction. Therefore, we always must have: MAX_XXX_PER_TX >= MAX_XXX_PER_CALL
For instance: MAX_NOTE_HASHES_PER_TX >= MAX_NOTE_HASHES_PER_CALL MAX_NULLIFIERS_PER_TX >= MAX_NULLIFIERS_PER_CALL