Create the first field that marks the start of a tx. It's a concatenation of:
TX_START_PREFIX | num_note_hashes | num_nullifiers | num_l2_to_l1_msgs | num_public_data_writes |
num_private_logs | private_logs_length | public_logs_length | contract_class_log_length | revert_code |
num_blob_fields
TX_START_PREFIX occupies the bytes up to the point where num_note_hashes begins.
num_blob_fields occupies 4 bytes, allowing a maximum of 2 ** 32 fields.
public_logs_length occupies 4 bytes, allowing a maximum of 2 ** 32 fields.
revert_code occupies 1 byte.
Each of the remaining values occupies 2 bytes, allowing a maximum of 2 ** 16 elements each.
A test below ensures they do not exceed these limits.
Create the first field that marks the start of a tx. It's a concatenation of:
TX_START_PREFIX|num_note_hashes|num_nullifiers|num_l2_to_l1_msgs|num_public_data_writes|num_private_logs|private_logs_length|public_logs_length|contract_class_log_length|revert_code|num_blob_fieldsTX_START_PREFIXoccupies the bytes up to the point wherenum_note_hashesbegins.num_blob_fieldsoccupies 4 bytes, allowing a maximum of 2 ** 32 fields.public_logs_lengthoccupies 4 bytes, allowing a maximum of 2 ** 32 fields.revert_codeoccupies 1 byte. Each of the remaining values occupies 2 bytes, allowing a maximum of 2 ** 16 elements each. A test below ensures they do not exceed these limits.