| Offset | Field | Type | Bytes |
|---|---|---|---|
| 0 | version_byte | u8 | 1 |
| 1 | legacy_header | (u8, u8, u8) | 3 |
| 4 | transaction_config_mask | u32 | 4 |
| 8 | lifetime_specifier | [u8; 32] | 32 |
| 40 | num_instructions | u8 | 1 |
| 41 | num_addresses | u8 | 1 |
| 42 | addresses | [[u8; 32]] | variable |
| 42 | config_values (if mask bits set): | — | variable |
| 42 | [0] inclusion_fee | u32 | 4 |
| 46 | [1] ordering_fee | u32 | 4 |
| 50 | [2] compute_unit_limit | u32 | 4 |
| 54 | [3] accounts_data_size_limit | u32 | 4 |
| 58 | [4] heap_size | u32 | 4 |
| 62 | [5] target_proposer | u32 | 4 |
| 66 | instruction_headers | [(u8, u8, u16)] | variable |
| 66 | instruction_payloads | [InstructionPayload] | variable |
| 66 | signatures | [[u8; 64]] | variable |
| Total | up to 66+ bytes | ||
| Value | Max (SIMD) | Prior Max | Max (Format) |
|---|---|---|---|
| transaction size | 4096 | 1232 | 4096 |
| signatures per transaction | 12 | 12 | 42 |
| num accounts | 64 | 64 | 96 |
| num instructions | 64 | 64 | 255 |
| accounts/instruction | 255 | 255 | 255 |