Function create_tx_start_marker
pub fn create_tx_start_marker(
num_blob_fields: u32,
array_lengths: TxEffectArrayLengths,
private_logs_length: u32,
public_logs_length: u32,
contract_class_log_length: u32,
revert_code: u8,
) -> Field
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.