pub(super) fn assemble_tx_meta(execution_mode: TxExecutionMode, execute_tx: bool) -> U256 {
    let mut output = [0u8; 32];

    // Set 0 byte (execution mode)
    output[0] = match execution_mode {
        TxExecutionMode::VerifyExecute => 0x00,
        TxExecutionMode::EstimateFee => 0x00,
        TxExecutionMode::EthCall => 0x02,
    };

    // Set 31 byte (marker for tx execution)
    output[31] = u8::from(execute_tx);

    U256::from_big_endian(&output)
}
Forms a word that contains meta information for the transaction execution.

# Current layout

- 0 byte (MSB): server-side tx execution mode
In the server, we may want to execute different parts of the transaction in the different context
For example, when checking validity, we don't want to actually execute transaction and have side effects.

Possible values:
- 0x00: validate & execute (normal mode)
- 0x02: execute but DO NOT validate

- 31 byte (LSB): whether to execute transaction or not (at all).
core/lib/multivm/src/versions/vm_latest/bootloader/utils.rs