Alpha RPCs - Reference

This page describes the RPCs specific to the particular version of the Tezos protocol specified above. (The protocol-independent RPCs are described in this other page.)

Warning

This list could be missing RPC endpoints. The OpenAPI specification may be used to retrieve the complete list of protocol RPCs and their associated schemas (search the .json files that are linked from that page).

Note that the RPCs served under a given prefix can also be listed using the client, e.g.:

octez-client rpc list /chains/main/blocks/head/context/constants

Any RPC endpoint may also be described, using the describe RPC to retrieve all JSON and binary schemas, e.g.:

octez-client rpc get /describe/chains/main/blocks/head/context/constants

Note

The protocol-specific RPCs are all served under the prefix /chains/<chain_id>/blocks/<block_id>/. To make the RPC reference more readable, this prefix is not repeated every time below, but instead shortened as ../.

Index

  • ../<block_id> (GET)

    • ../<block_id>/context

      • ../<block_id>/context/adaptive_issuance_launch_cycle (GET)

      • ../<block_id>/context/big_maps

        • ../<block_id>/context/big_maps/<big_map_id> (GET)

          • ../<block_id>/context/big_maps/<big_map_id>/<script_expr> (GET)

      • ../<block_id>/context/cache

        • ../<block_id>/context/cache/contracts

          • ../<block_id>/context/cache/contracts/all (GET)

          • ../<block_id>/context/cache/contracts/rank (POST)

          • ../<block_id>/context/cache/contracts/size (GET)

          • ../<block_id>/context/cache/contracts/size_limit (GET)

      • ../<block_id>/context/constants (GET)

        • ../<block_id>/context/constants/errors (GET)

        • ../<block_id>/context/constants/parametric (GET)

      • ../<block_id>/context/contracts (GET)

        • ../<block_id>/context/contracts/<contract_id> (GET)

          • ../<block_id>/context/contracts/<contract_id>/balance (GET)

          • ../<block_id>/context/contracts/<contract_id>/balance_and_frozen_bonds (GET)

          • ../<block_id>/context/contracts/<contract_id>/big_map_get (POST)

          • ../<block_id>/context/contracts/<contract_id>/counter (GET)

          • ../<block_id>/context/contracts/<contract_id>/delegate (GET)

          • ../<block_id>/context/contracts/<contract_id>/entrypoints (GET)

            • ../<block_id>/context/contracts/<contract_id>/entrypoints/<entrypoint> (GET)

          • ../<block_id>/context/contracts/<contract_id>/estimated_own_pending_slashed_amount (GET)

          • ../<block_id>/context/contracts/<contract_id>/frozen_bonds (GET)

          • ../<block_id>/context/contracts/<contract_id>/full_balance (GET)

          • ../<block_id>/context/contracts/<contract_id>/manager_key (GET)

          • ../<block_id>/context/contracts/<contract_id>/script (GET)

          • ../<block_id>/context/contracts/<contract_id>/single_sapling_get_diff (GET)

          • ../<block_id>/context/contracts/<contract_id>/staked_balance (GET)

          • ../<block_id>/context/contracts/<contract_id>/staking_numerator (GET)

          • ../<block_id>/context/contracts/<contract_id>/storage (GET)

          • ../<block_id>/context/contracts/<contract_id>/unstake_requests (GET)

          • ../<block_id>/context/contracts/<contract_id>/unstaked_finalizable_balance (GET)

          • ../<block_id>/context/contracts/<contract_id>/unstaked_frozen_balance (GET)

      • ../<block_id>/context/delegates (GET)

        • ../<block_id>/context/delegates/<pkh> (GET)

          • ../<block_id>/context/delegates/<pkh>/active_staking_parameters (GET)

          • ../<block_id>/context/delegates/<pkh>/consensus_key (GET)

          • ../<block_id>/context/delegates/<pkh>/current_baking_power (GET)

          • ../<block_id>/context/delegates/<pkh>/current_frozen_deposits (GET)

          • ../<block_id>/context/delegates/<pkh>/current_voting_power (GET)

          • ../<block_id>/context/delegates/<pkh>/deactivated (GET)

          • ../<block_id>/context/delegates/<pkh>/delegated_balance (GET)

          • ../<block_id>/context/delegates/<pkh>/delegated_contracts (GET)

          • ../<block_id>/context/delegates/<pkh>/denunciations (GET)

          • ../<block_id>/context/delegates/<pkh>/estimated_shared_pending_slashed_amount (GET)

          • ../<block_id>/context/delegates/<pkh>/frozen_deposits (GET)

          • ../<block_id>/context/delegates/<pkh>/frozen_deposits_limit (GET)

          • ../<block_id>/context/delegates/<pkh>/full_balance (GET)

          • ../<block_id>/context/delegates/<pkh>/grace_period (GET)

          • ../<block_id>/context/delegates/<pkh>/min_delegated_in_current_cycle (GET)

          • ../<block_id>/context/delegates/<pkh>/participation (GET)

          • ../<block_id>/context/delegates/<pkh>/pending_staking_parameters (GET)

          • ../<block_id>/context/delegates/<pkh>/staking_balance (GET)

          • ../<block_id>/context/delegates/<pkh>/staking_denominator (GET)

          • ../<block_id>/context/delegates/<pkh>/total_delegated_stake (GET)

          • ../<block_id>/context/delegates/<pkh>/unstaked_frozen_deposits (GET)

          • ../<block_id>/context/delegates/<pkh>/voting_info (GET)

          • ../<block_id>/context/delegates/<pkh>/voting_power (GET)

      • ../<block_id>/context/denunciations (GET)

      • ../<block_id>/context/issuance

        • ../<block_id>/context/issuance/current_yearly_rate (GET)

        • ../<block_id>/context/issuance/current_yearly_rate_details (GET)

        • ../<block_id>/context/issuance/current_yearly_rate_exact (GET)

        • ../<block_id>/context/issuance/expected_issuance (GET)

        • ../<block_id>/context/issuance/issuance_per_minute (GET)

      • ../<block_id>/context/liquidity_baking

        • ../<block_id>/context/liquidity_baking/cpmm_address (GET)

      • ../<block_id>/context/merkle_tree (GET)

      • ../<block_id>/context/merkle_tree_v2 (GET)

      • ../<block_id>/context/nonces

        • ../<block_id>/context/nonces/<block_level> (GET)

      • ../<block_id>/context/raw

        • ../<block_id>/context/raw/bytes (GET)

        • ../<block_id>/context/raw/json (<dyn>)

      • ../<block_id>/context/sapling

        • ../<block_id>/context/sapling/<sapling_state_id>

          • ../<block_id>/context/sapling/<sapling_state_id>/get_diff (GET)

      • ../<block_id>/context/seed (POST)

      • ../<block_id>/context/seed_computation (GET)

      • ../<block_id>/context/total_frozen_stake (GET)

      • ../<block_id>/context/total_supply (GET)

    • ../<block_id>/hash (GET)

    • ../<block_id>/header (GET)

      • ../<block_id>/header/protocol_data (GET)

        • ../<block_id>/header/protocol_data/raw (GET)

      • ../<block_id>/header/raw (GET)

      • ../<block_id>/header/shell (GET)

    • ../<block_id>/helpers

      • ../<block_id>/helpers/complete

        • ../<block_id>/helpers/complete/<prefix> (GET)

      • ../<block_id>/helpers/forge_block_header (POST)

      • ../<block_id>/helpers/preapply

        • ../<block_id>/helpers/preapply/block (POST)

        • ../<block_id>/helpers/preapply/operations (POST)

    • ../<block_id>/live_blocks (GET)

    • ../<block_id>/metadata (GET)

    • ../<block_id>/metadata_hash (GET)

    • ../<block_id>/operation_hashes (GET)

      • ../<block_id>/operation_hashes/<list_offset> (GET)

        • ../<block_id>/operation_hashes/<list_offset>/<operation_offset> (GET)

    • ../<block_id>/operation_metadata_hashes (GET)

      • ../<block_id>/operation_metadata_hashes/<list_offset> (GET)

        • ../<block_id>/operation_metadata_hashes/<list_offset>/<operation_offset> (GET)

    • ../<block_id>/operations (GET)

      • ../<block_id>/operations/<list_offset> (GET)

        • ../<block_id>/operations/<list_offset>/<operation_offset> (GET)

    • ../<block_id>/operations_metadata_hash (GET)

    • ../<block_id>/protocols (GET)

    • ../<block_id>/resulting_context_hash (GET)

    • ../<block_id>/votes

      • ../<block_id>/votes/ballot_list (GET)

      • ../<block_id>/votes/ballots (GET)

      • ../<block_id>/votes/current_period (GET)

      • ../<block_id>/votes/current_proposal (GET)

      • ../<block_id>/votes/current_quorum (GET)

      • ../<block_id>/votes/listings (GET)

      • ../<block_id>/votes/proposal_count

        • ../<block_id>/votes/proposal_count/<pkh> (GET)

      • ../<block_id>/votes/proposals (GET)

      • ../<block_id>/votes/successor_period (GET)

      • ../<block_id>/votes/total_voting_power (GET)

Full description

GET ../<block_id>?[version=<version>]&[force_metadata]&[metadata=<metadata_rpc_arg>]

All the information about a block. The associated metadata may not be present depending on the history mode and block's distance from the head.

Optional query arguments :

  • version = <version>
  • force_metadata : DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.
  • metadata = <metadata_rpc_arg> : Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use "always". To avoid getting the metadata, use "never". By default, the metadata will be returned depending on the node's metadata size limit policy.

  { /* block_info_encoding_v1 */
    "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
    "chain_id": $Chain_id,
    "hash": $block_hash,
    "header": $raw_block_header,
    "metadata"?: $block_header_metadata,
    "operations": [ [ $operation ... ] ... ] }
  || { /* block_info_encoding_v0 */
       "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
       "chain_id": $Chain_id,
       "hash": $block_hash,
       "header": $raw_block_header,
       "metadata"?: $block_header_metadata_with_legacy_attestation_name,
       "operations": [ [ $operation_with_legacy_attestation_name ... ] ... ] }
  $Blinded public key hash:
    /* A blinded public key hash (Base58Check-encoded) */
    $unistring
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.apply_internal_results.alpha.operation_result:
    { /* transaction */
      "kind": "transaction",
      "source": $alpha.transaction_destination,
      "nonce": integer ∈ [0, 2^16-1],
      "amount": $alpha.mutez,
      "destination": $alpha.transaction_destination,
      "parameters"?: { "entrypoint": $alpha.entrypoint,
                       "value": any },
      "result": $alpha.operation.alpha.internal_operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "result":
           $alpha.operation.alpha.internal_operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result":
           $alpha.operation.alpha.internal_operation_result.delegation }
    || { /* event */
         "kind": "event",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "type": $micheline.alpha.michelson_v1.expression,
         "tag"?: $alpha.entrypoint,
         "payload"?: $micheline.alpha.michelson_v1.expression,
         "result": $alpha.operation.alpha.internal_operation_result.event }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.error:
    /* The full list of RPC errors would be too long to include.
       It is available at RPC `/errors` (GET).
       Errors specific to protocol Alpha have an id that starts with
       `proto.alpha`. */
    any
  $alpha.frozen_staker:
    /* frozen_staker
       Abstract notion of staker used in operation receipts for frozen
       deposits, either a single staker or all the stakers delegating to some
       delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
    || { /* Baker */
         "baker_own_stake": $Signature.Public_key_hash }
    || { /* Baker_edge */
         "baker_edge": $Signature.Public_key_hash }
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.lazy_storage_diff:
    [ { /* big_map */
        "kind": "big_map",
        "id": $alpha.big_map_id,
        "diff":
          { /* update */
            "action": "update",
            "updates":
              [ { "key_hash": $script_expr,
                  "key": $micheline.alpha.michelson_v1.expression,
                  "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* remove */
               "action": "remove" }
          || { /* copy */
               "action": "copy",
               "source": $alpha.big_map_id,
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* alloc */
               "action": "alloc",
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ],
               "key_type": $micheline.alpha.michelson_v1.expression,
               "value_type": $micheline.alpha.michelson_v1.expression } }
      || { /* sapling_state */
           "kind": "sapling_state",
           "id": $alpha.sapling_state_id,
           "diff":
             { /* update */
               "action": "update",
               "updates":
                 { "commitments_and_ciphertexts":
                     [ [ $sapling.transaction.commitment,
                         $sapling.transaction.ciphertext ] ... ],
                   "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* remove */
                  "action": "remove" }
             || { /* copy */
                  "action": "copy",
                  "source": $alpha.sapling_state_id,
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* alloc */
                  "action": "alloc",
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] },
                  "memo_size": integer ∈ [0, 2^16-1] } } ... ]
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation.alpha.contents_and_signature:
    { "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation.alpha.internal_operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.internal_operation_result.event:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.internal_operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.internal_operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_contents_and_result:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "consensus_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preattestation */
         "kind": "preattestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation.alpha.operation_result.dal_publish_commitment:
    { /* Applied */
      "status": "applied",
      "slot_header":
        { /* v0 */
          "version": "0",
          "level": integer ∈ [0, 2^31],
          "index": integer ∈ [0, 255],
          "commitment": $DAL_commitment },
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "slot_header":
           { /* v0 */
             "version": "0",
             "level": integer ∈ [0, 2^31],
             "index": integer ∈ [0, 255],
             "commitment": $DAL_commitment },
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.increase_paid_storage:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.operation_result.register_global_constant:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "global_address": $script_expr }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "global_address": $script_expr }
  $alpha.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.set_deposits_limit:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_add_messages:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_cement:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "inbox_level": integer ∈ [0, 2^31],
      "commitment_hash": $smart_rollup_commitment_hash }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "inbox_level": integer ∈ [0, 2^31],
         "commitment_hash": $smart_rollup_commitment_hash }
  $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "whitelist_update"?:
        { /* Public */
          "kind": "public" }
        || { /* Private */
             "kind": "update",
             "whitelist": [ $Signature.Public_key_hash ... ] },
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "whitelist_update"?:
           { /* Public */
             "kind": "public" }
           || { /* Private */
                "kind": "update",
                "whitelist": [ $Signature.Public_key_hash ... ] },
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_originate:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "address": $smart_rollup_address,
      "genesis_commitment_hash": $smart_rollup_commitment_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_publish:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "staked_hash": $smart_rollup_commitment_hash,
      "published_at_level": integer ∈ [0, 2^31],
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "staked_hash": $smart_rollup_commitment_hash,
         "published_at_level": integer ∈ [0, 2^31],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_recover_bond:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_refute:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_timeout:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_result.transfer_ticket:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.update_consensus_key:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_origination:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "originated_zk_rollup": $Zk_rollup_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "originated_zk_rollup": $Zk_rollup_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_publish:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_update:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.operation.alpha.successful_manager_operation_result:
    { /* reveal */
      "kind": "reveal",
      "consumed_milligas"?: $positive_bignum }
    || /* transaction */
    { /* To_contract */
      "kind": "transaction",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "kind": "transaction",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* origination */
         "kind": "origination",
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* delegation */
         "kind": "delegation",
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* update_consensus_key */
         "kind": "update_consensus_key",
         "consumed_milligas"?: $positive_bignum }
    || { /* set_deposits_limit */
         "kind": "set_deposits_limit",
         "consumed_milligas"?: $positive_bignum }
    || { /* increase_paid_storage */
         "kind": "increase_paid_storage",
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
    || { /* smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation_metadata.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_metadata_with_legacy_attestation_name.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Endorsing_rewards */
           "kind": "minted",
           "category": "endorsing rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Endorsing_rewards */
           "kind": "minted",
           "category": "endorsing rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Endorsing_rewards */
           "kind": "minted",
           "category": "endorsing rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Endorsing_rewards */
           "kind": "minted",
           "category": "endorsing rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Endorsing_rewards */
           "kind": "minted",
           "category": "endorsing rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_endorsing_rewards */
           "kind": "burned",
           "category": "lost endorsing rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_endorsing_rewards */
           "kind": "burned",
           "category": "lost endorsing rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_endorsing_rewards */
           "kind": "burned",
           "category": "lost endorsing rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_endorsing_rewards */
           "kind": "burned",
           "category": "lost endorsing rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_endorsing_rewards */
           "kind": "burned",
           "category": "lost endorsing rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents_and_signature:
    { "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "endorsement_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "endorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preendorsement */
         "kind": "preendorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "preendorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.sapling_state_id:
    /* Sapling state identifier
       A sapling state identifier */
    $bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.staker:
    /* unstaked_frozen_staker
       Abstract notion of staker used in operation receipts for unstaked
       frozen deposits, either a single staker or all the stakers delegating
       to some delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as given
       to an RPC or inside scripts. Can be a base58 implicit contract hash, a
       base58 originated contract hash, a base58 originated transaction
       rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $block_header_metadata:
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "next_protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "test_chain_status": $test_chain_status,
      "max_operations_ttl": integer ∈ [-2^30, 2^30],
      "max_operation_data_length": integer ∈ [-2^30, 2^30],
      "max_block_header_length": integer ∈ [-2^30, 2^30],
      "max_operation_list_length":
        [ { "max_size": integer ∈ [-2^30, 2^30],
            "max_op"?: integer ∈ [-2^30, 2^30] } ... ],
      "proposer": $Signature.Public_key_hash,
      "baker": $Signature.Public_key_hash,
      "level_info":
        { "level":
            integer ∈ [0, 2^31]
            /* The level of the block relative to genesis. This is also the
               Shell's notion of level. */,
          "level_position":
            integer ∈ [-2^31-1, 2^31]
            /* The level of the block relative to the successor of the
               genesis block. More precisely, it is the position of the block
               relative to the block that starts the "Alpha family" of
               protocols, which includes all protocols except Genesis (that
               is, from 001 onwards). */,
          "cycle":
            integer ∈ [-2^31-1, 2^31]
            /* The current cycle's number. Note that cycles are a
               protocol-specific notion. As a result, the cycle number starts
               at 0 with the first block of the Alpha family of protocols. */,
          "cycle_position":
            integer ∈ [-2^31-1, 2^31]
            /* The current level of the block relative to the first block of
               the current cycle. */,
          "expected_commitment":
            boolean
            /* Tells whether the baker of this block has to commit a seed
               nonce hash. */ },
      "voting_period_info":
        { "voting_period":
            { /* The voting period to which the block belongs. */
              "index":
                integer ∈ [-2^31-1, 2^31]
                /* The voting period's index. Starts at 0 with the first
                   block of the Alpha family of protocols. */,
              "kind":
                /* One of the several kinds of periods in the voting
                   procedure. */
                "proposal"
                || "exploration"
                || "cooldown"
                || "promotion"
                || "adoption",
              "start_position":
                integer ∈ [-2^31-1, 2^31]
                /* The relative position of the first level of the period
                   with respect to the first level of the Alpha family of
                   protocols. */ },
          "position":
            integer ∈ [-2^31-1, 2^31]
            /* The position of the block within the voting period. */,
          "remaining":
            integer ∈ [-2^31-1, 2^31]
            /* The number of blocks remaining till the end of the voting
               period. */ },
      "nonce_hash": $cycle_nonce /* Some */ || null /* None */,
      "deactivated": [ $Signature.Public_key_hash ... ],
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "liquidity_baking_toggle_ema": integer ∈ [-2^31-1, 2^31],
      "adaptive_issuance_vote_ema": integer ∈ [-2^31-1, 2^31],
      "adaptive_issuance_activation_cycle"?: integer ∈ [-2^31-1, 2^31],
      "implicit_operations_results":
        [ $alpha.operation.alpha.successful_manager_operation_result ... ],
      "proposer_consensus_key": $Signature.Public_key_hash,
      "baker_consensus_key": $Signature.Public_key_hash,
      "consumed_milligas": $positive_bignum,
      "dal_attestation": $bignum }
  $block_header_metadata_with_legacy_attestation_name:
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "next_protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "test_chain_status": $test_chain_status,
      "max_operations_ttl": integer ∈ [-2^30, 2^30],
      "max_operation_data_length": integer ∈ [-2^30, 2^30],
      "max_block_header_length": integer ∈ [-2^30, 2^30],
      "max_operation_list_length":
        [ { "max_size": integer ∈ [-2^30, 2^30],
            "max_op"?: integer ∈ [-2^30, 2^30] } ... ],
      "proposer": $Signature.Public_key_hash,
      "baker": $Signature.Public_key_hash,
      "level_info":
        { "level":
            integer ∈ [0, 2^31]
            /* The level of the block relative to genesis. This is also the
               Shell's notion of level. */,
          "level_position":
            integer ∈ [-2^31-1, 2^31]
            /* The level of the block relative to the successor of the
               genesis block. More precisely, it is the position of the block
               relative to the block that starts the "Alpha family" of
               protocols, which includes all protocols except Genesis (that
               is, from 001 onwards). */,
          "cycle":
            integer ∈ [-2^31-1, 2^31]
            /* The current cycle's number. Note that cycles are a
               protocol-specific notion. As a result, the cycle number starts
               at 0 with the first block of the Alpha family of protocols. */,
          "cycle_position":
            integer ∈ [-2^31-1, 2^31]
            /* The current level of the block relative to the first block of
               the current cycle. */,
          "expected_commitment":
            boolean
            /* Tells whether the baker of this block has to commit a seed
               nonce hash. */ },
      "voting_period_info":
        { "voting_period":
            { /* The voting period to which the block belongs. */
              "index":
                integer ∈ [-2^31-1, 2^31]
                /* The voting period's index. Starts at 0 with the first
                   block of the Alpha family of protocols. */,
              "kind":
                /* One of the several kinds of periods in the voting
                   procedure. */
                "proposal"
                || "exploration"
                || "cooldown"
                || "promotion"
                || "adoption",
              "start_position":
                integer ∈ [-2^31-1, 2^31]
                /* The relative position of the first level of the period
                   with respect to the first level of the Alpha family of
                   protocols. */ },
          "position":
            integer ∈ [-2^31-1, 2^31]
            /* The position of the block within the voting period. */,
          "remaining":
            integer ∈ [-2^31-1, 2^31]
            /* The number of blocks remaining till the end of the voting
               period. */ },
      "nonce_hash": $cycle_nonce /* Some */ || null /* None */,
      "deactivated": [ $Signature.Public_key_hash ... ],
      "balance_updates"?:
        $alpha.operation_metadata_with_legacy_attestation_name.alpha.balance_updates,
      "liquidity_baking_toggle_ema": integer ∈ [-2^31-1, 2^31],
      "adaptive_issuance_vote_ema": integer ∈ [-2^31-1, 2^31],
      "adaptive_issuance_activation_cycle"?: integer ∈ [-2^31-1, 2^31],
      "implicit_operations_results":
        [ $alpha.operation.alpha.successful_manager_operation_result ... ],
      "proposer_consensus_key": $Signature.Public_key_hash,
      "baker_consensus_key": $Signature.Public_key_hash,
      "consumed_milligas": $positive_bignum,
      "dal_attestation": $bignum }
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $operation:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $operation_with_legacy_attestation_name:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $raw_block_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $test_chain_status:
    /* The status of the test chain: not_running (there is no test chain at
       the moment), forking (the test chain is being setup), running (the
       test chain is running). */
    { /* Not_running */
      "status": "not_running" }
    || { /* Forking */
         "status": "forking",
         "protocol": $Protocol_hash,
         "expiration": $timestamp.protocol }
    || { /* Running */
         "status": "running",
         "chain_id": $Chain_id,
         "genesis": $block_hash,
         "protocol": $Protocol_hash,
         "expiration": $timestamp.protocol }
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | chain_id                       | 4 bytes              | bytes                               |
  +--------------------------------+----------------------+-------------------------------------+
  | hash                           | 32 bytes             | bytes                               |
  +--------------------------------+----------------------+-------------------------------------+
  | # bytes in next field          | 4 bytes              | unsigned 30-bit integer             |
  +--------------------------------+----------------------+-------------------------------------+
  | header                         | Variable             | $raw_block_header                   |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "metadata" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_0                                |
  +--------------------------------+----------------------+-------------------------------------+
  | # bytes in next field          | 4 bytes              | unsigned 30-bit integer             |
  +--------------------------------+----------------------+-------------------------------------+
  | operations                     | Variable             | sequence of $X_78                   |
  +--------------------------------+----------------------+-------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  raw_block_header
  ****************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  test_chain_status (Determined from data, 8-bit tag)
  ***************************************************

  Not_running (tag 0)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Forking (tag 1)
  ===============

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | protocol   | 32 bytes | bytes                  |
  +------------+----------+------------------------+
  | expiration | 8 bytes  | signed 64-bit integer  |
  +------------+----------+------------------------+


  Running (tag 2)
  ===============

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | chain_id   | 4 bytes  | bytes                  |
  +------------+----------+------------------------+
  | genesis    | 32 bytes | bytes                  |
  +------------+----------+------------------------+
  | protocol   | 32 bytes | bytes                  |
  +------------+----------+------------------------+
  | expiration | 8 bytes  | signed 64-bit integer  |
  +------------+----------+------------------------+


  X_2
  ***

  +------------------------------+---------+--------------------------------------------------------------+
  | Name                         | Size    | Contents                                                     |
  +==============================+=========+==============================================================+
  | max_size                     | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------+---------+--------------------------------------------------------------+
  | ? presence of field "max_op" | 1 byte  | boolean (0 for false, 255 for true)                          |
  +------------------------------+---------+--------------------------------------------------------------+
  | max_op                       | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------+---------+--------------------------------------------------------------+


  X_1
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_3
  ***

  +---------------------+---------+-------------------------------------+
  | Name                | Size    | Contents                            |
  +=====================+=========+=====================================+
  | level               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | level_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
  +---------------------+---------+-------------------------------------+


  X_6 (1 byte, 8-bit tag)
  ***********************

  Proposal (tag 0)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  exploration (tag 1)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Cooldown (tag 2)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Promotion (tag 3)
  =================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Adoption (tag 4)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_5
  ***

  +----------------+---------+-----------------------+
  | Name           | Size    | Contents              |
  +================+=========+=======================+
  | index          | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+
  | kind           | 1 byte  | $X_6                  |
  +----------------+---------+-----------------------+
  | start_position | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+


  X_4
  ***

  +---------------+---------+-----------------------+
  | Name          | Size    | Contents              |
  +===============+=========+=======================+
  | voting_period | 9 bytes | $X_5                  |
  +---------------+---------+-----------------------+
  | position      | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+
  | remaining     | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+


  X_7 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-------------+----------+------------------------+
  | Name        | Size     | Contents               |
  +=============+==========+========================+
  | Tag         | 1 byte   | unsigned 8-bit integer |
  +-------------+----------+------------------------+
  | cycle_nonce | 32 bytes | bytes                  |
  +-------------+----------+------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.staker (Determined from data, 8-bit tag)
  **********************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  alpha.bond_id (21 bytes, 8-bit tag)
  ***********************************

  Smart_rollup_bond_id (tag 1)
  ============================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | smart_rollup | 20 bytes | bytes                  |
  +--------------+----------+------------------------+


  alpha.frozen_staker (Determined from data, 8-bit tag)
  *****************************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Baker (tag 2)
  =============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | baker_own_stake | 21 bytes | $public_key_hash       |
  +-----------------+----------+------------------------+


  Baker_edge (tag 3)
  ==================

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | baker_edge | 21 bytes | $public_key_hash       |
  +------------+----------+------------------------+


  X_9 (Determined from data, 8-bit tag)
  *************************************

  Contract (tag 0)
  ================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Block_fees (tag 2)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Deposits (tag 4)
  ================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.frozen_staker   |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Nonce_revelation_rewards (tag 5)
  ================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Attesting_rewards (tag 7)
  =========================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_rewards (tag 8)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_bonuses (tag 9)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Storage_fees (tag 11)
  =====================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Double_signing_punishments (tag 12)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Lost_attesting_rewards (tag 13)
  ===============================

  +---------------+----------+-------------------------------------+
  | Name          | Size     | Contents                            |
  +===============+==========+=====================================+
  | Tag           | 1 byte   | unsigned 8-bit integer              |
  +---------------+----------+-------------------------------------+
  | delegate      | 21 bytes | $public_key_hash                    |
  +---------------+----------+-------------------------------------+
  | participation | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | change        | 8 bytes  | signed 64-bit integer               |
  +---------------+----------+-------------------------------------+


  Liquidity_baking_subsidies (tag 14)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Burned (tag 15)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Commitments (tag 16)
  ====================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | committer | 20 bytes | bytes                  |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Bootstrap (tag 17)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Invoice (tag 18)
  ================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Initial_commitments (tag 19)
  ============================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Minted (tag 20)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Frozen_bonds (tag 21)
  =====================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | bond_id  | 21 bytes | $alpha.bond_id         |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Smart_rollup_refutation_punishments (tag 24)
  ============================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Smart_rollup_refutation_rewards (tag 25)
  ========================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Unstaked_deposits (tag 26)
  ==========================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.staker          |
  +--------+----------------------+------------------------+
  | cycle  | 4 bytes              | signed 32-bit integer  |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Staking_delegator_numerator (tag 27)
  ====================================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | delegator | 22 bytes | $alpha.contract_id     |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Staking_delegate_denominator (tag 28)
  =====================================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  X_10 (Determined from data, 8-bit tag)
  **************************************

  Block_application (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Protocol_migration (tag 1)
  ==========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Subsidy (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Simulation (tag 3)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Delayed_operation (tag 4)
  =========================

  +------------------------+----------+------------------------+
  | Name                   | Size     | Contents               |
  +========================+==========+========================+
  | Tag                    | 1 byte   | unsigned 8-bit integer |
  +------------------------+----------+------------------------+
  | delayed_operation_hash | 32 bytes | bytes                  |
  +------------------------+----------+------------------------+


  X_8
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_9     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_10    |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_24
  ****

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+


  X_23
  ****

  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_24       |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  X_29 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_23                  |
  +---------+----------------------+------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | source  | Determined from data | $Z.t                   |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_23                  |
  +---------+----------------------+------------------------+


  alloc (tag 3)
  =============

  +-----------+----------------------+-------------------------+
  | Name      | Size                 | Contents                |
  +===========+======================+=========================+
  | Tag       | 1 byte               | unsigned 8-bit integer  |
  +-----------+----------------------+-------------------------+
  | updates   | Determined from data | $X_23                   |
  +-----------+----------------------+-------------------------+
  | memo_size | 2 bytes              | unsigned 16-bit integer |
  +-----------+----------------------+-------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_30
  ****

  +-----------------------------+----------------------+------------------------------------------+
  | Name                        | Size                 | Contents                                 |
  +=============================+======================+==========================================+
  | key_hash                    | 32 bytes             | bytes                                    |
  +-----------------------------+----------------------+------------------------------------------+
  | key                         | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)      |
  +-----------------------------+----------------------+------------------------------------------+
  | value                       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+


  X_41 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | updates               | Variable | sequence of $X_30       |
  +-----------------------+----------+-------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | Determined from data | $Z.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_30       |
  +-----------------------+----------------------+-------------------------+


  alloc (tag 3)
  =============

  +-----------------------+----------------------+------------------------------------------+
  | Name                  | Size                 | Contents                                 |
  +=======================+======================+==========================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                   |
  +-----------------------+----------------------+------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                  |
  +-----------------------+----------------------+------------------------------------------+
  | updates               | Variable             | sequence of $X_30                        |
  +-----------------------+----------------------+------------------------------------------+
  | key_type              | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+
  | value_type            | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+


  X_42 (Determined from data, 8-bit tag)
  **************************************

  big_map (tag 0)
  ===============

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_41                  |
  +------+----------------------+------------------------+


  sapling_state (tag 1)
  =====================

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_29                  |
  +------+----------------------+------------------------+


  alpha.lazy_storage_diff
  ***********************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_42       |
  +-----------------------+----------+-------------------------+


  X_44
  ****

  +--------------+----------------------+------------------------------------------+
  | Name         | Size                 | Contents                                 |
  +==============+======================+==========================================+
  | ticketer     | 22 bytes             | $alpha.contract_id                       |
  +--------------+----------------------+------------------------------------------+
  | content_type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+
  | content      | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+


  alpha.transaction_destination (22 bytes, 8-bit tag)
  ***************************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  Smart_rollup (tag 3)
  ====================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | smart_rollup_address | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+
  | padding              | 1 byte   | padding                |
  +----------------------+----------+------------------------+


  Zk_rollup (tag 4)
  =================

  +----------------+----------+------------------------+
  | Name           | Size     | Contents               |
  +================+==========+========================+
  | Tag            | 1 byte   | unsigned 8-bit integer |
  +----------------+----------+------------------------+
  | Zk_rollup_hash | 20 bytes | bytes                  |
  +----------------+----------+------------------------+
  | padding        | 1 byte   | padding                |
  +----------------+----------+------------------------+


  X_47
  ****

  +---------+----------------------+--------------------------------+
  | Name    | Size                 | Contents                       |
  +=========+======================+================================+
  | account | 22 bytes             | $alpha.transaction_destination |
  +---------+----------------------+--------------------------------+
  | amount  | Determined from data | $Z.t                           |
  +---------+----------------------+--------------------------------+


  X_43
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | ticket_token          | Determined from data | $X_44                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_47       |
  +-----------------------+----------------------+-------------------------+


  X_77 (Determined from data, 8-bit tag)
  **************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                          |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_43                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_updates        | Variable             | sequence of $X_43       |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.successful_manager_operation_result (Determined from data, 8-bit tag)
  *******************************************************************************************

  reveal (tag 0)
  ==============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  transaction (tag 1)
  ===================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_77                  |
  +-----------------+----------------------+------------------------+


  origination (tag 2)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                          |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  delegation (tag 3)
  ==================

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  set_deposits_limit (tag 5)
  ==========================

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  update_consensus_key (tag 6)
  ============================

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  increase_paid_storage (tag 9)
  =============================

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  smart_rollup_originate (tag 200)
  ================================

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  X_0
  ***

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                               |
  +===================================================================+======================+========================================================================+
  | # bytes in next 25 fields                                         | 4 bytes              | unsigned 30-bit integer                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | test_chain_status                                                 | Determined from data | $test_chain_status                                                     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | max_operations_ttl                                                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | max_operation_data_length                                         | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | max_block_header_length                                           | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | max_operation_list_length                                         | Determined from data | $X_1                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | proposer                                                          | 21 bytes             | $public_key_hash                                                       |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | baker                                                             | 21 bytes             | $public_key_hash                                                       |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | level_info                                                        | 17 bytes             | $X_3                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | voting_period_info                                                | 17 bytes             | $X_4                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | nonce_hash                                                        | Determined from data | $X_7                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | deactivated                                                       | Variable             | sequence of $public_key_hash                                           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                       |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | liquidity_baking_toggle_ema                                       | 4 bytes              | signed 32-bit integer                                                  |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | adaptive_issuance_vote_ema                                        | 4 bytes              | signed 32-bit integer                                                  |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | ? presence of field "adaptive_issuance_activation_cycle"          | 1 byte               | boolean (0 for false, 255 for true)                                    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | adaptive_issuance_activation_cycle                                | 4 bytes              | signed 32-bit integer                                                  |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | implicit_operations_results                                       | Variable             | sequence of $alpha.operation.alpha.successful_manager_operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | proposer_consensus_key                                            | 21 bytes             | $public_key_hash                                                       |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | baker_consensus_key                                               | 21 bytes             | $public_key_hash                                                       |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+
  | dal_attestation                                                   | Determined from data | $Z.t                                                                   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------------+


  X_81
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_82
  ****

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_80
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_81    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_82    |
  +-----------------+----------------------+----------+


  X_85
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_83
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_81    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_85    |
  +-----------------+----------------------+----------+


  X_86
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_79
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_80       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_83       |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_86                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_89
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_88
  ****

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_89                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  X_92 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_87
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_88    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_92    |
  +-----------------+----------------------+----------+


  X_95 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_93
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_81    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_95    |
  +-----------------+----------------------+----------+


  X_96
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_97
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_98
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_99 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_98                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_100 (Determined from data, 8-bit tag)
  ***************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_99                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_101
  *****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_102 (Determined from data, 8-bit tag)
  ***************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_101      |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_100                              |
  +-----------------------------------+----------------------+-------------------------------------+


  X_103 (Determined from data, 8-bit tag)
  ***************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_102                 |
  +--------+----------------------+------------------------+


  X_104
  *****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_106 (Enumeration: unsigned 8-bit integer):
  ********************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_107
  *****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_108
  *****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_109
  *****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents (Determined from data, 8-bit tag)
  ****************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bh1                   | Variable | $raw_block_header       |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bh2                   | Variable | $raw_block_header       |
  +-----------------------+----------+-------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_109                 |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_108                              |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+------------------------------------------------------------+
  | Name                            | Size                 | Contents                                                   |
  +=================================+======================+============================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                           |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_106) |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                        |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | whitelist                       | Determined from data | $X_107                                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_81       |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_104                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_103                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_97                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_96                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_93                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_87       |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_79                  |
  +---------------+----------------------+------------------------+


  X_122
  *****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
  *****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
  ***************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_122                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                          |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | errors                                                            | Determined from data | $X_122                                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                          |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  X_222 (Determined from data, 8-bit tag)
  ***************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                          |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_receipt                                                    | Variable             | sequence of $X_43                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_receipt        | Variable             | sequence of $X_43       |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_222                 |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_122                              |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_222                              |
  +------------------------------+----------------------+-------------------------------------+


  alpha.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
  *************************************************************************************

  transaction (tag 1)
  ===================

  +----------------------------------+----------------------+--------------------------------------------------------------+
  | Name                             | Size                 | Contents                                                     |
  +==================================+======================+==============================================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | source                           | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                            | 2 bytes              | unsigned 16-bit integer                                      |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | amount                           | Determined from data | $N.t                                                         |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | destination                      | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | parameters                       | Determined from data | $X_108                                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | result                           | Determined from data | $alpha.operation.alpha.internal_operation_result.transaction |
  +----------------------------------+----------------------+--------------------------------------------------------------+


  origination (tag 2)
  ===================

  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                               |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | balance                        | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                             |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts                                    |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.origination |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  delegation (tag 3)
  ==================

  +--------------------------------+----------------------+-------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                    |
  +================================+======================+=============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                      |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                              |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                     |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                         |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                            |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation |
  +--------------------------------+----------------------+-------------------------------------------------------------+


  event (tag 4)
  =============

  +-------------------------------+----------------------+--------------------------------------------------------+
  | Name                          | Size                 | Contents                                               |
  +===============================+======================+========================================================+
  | Tag                           | 1 byte               | unsigned 8-bit integer                                 |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | source                        | 22 bytes             | $alpha.transaction_destination                         |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | nonce                         | 2 bytes              | unsigned 16-bit integer                                |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | type                          | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | tag                           | Determined from data | $alpha.entrypoint                                      |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | payload                       | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | result                        | Determined from data | $alpha.operation.alpha.internal_operation_result.event |
  +-------------------------------+----------------------+--------------------------------------------------------+


  X_118
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_update         |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
  ******************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_264
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_publish        |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
  **********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_407
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_origination    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_553 (54 bytes, 8-bit tag)
  ***************************

  v0 (tag 0)
  ==========

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | level      | 4 bytes  | signed 32-bit integer  |
  +------------+----------+------------------------+
  | index      | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | commitment | 48 bytes | bytes                  |
  +------------+----------+------------------------+


  alpha.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | slot_header       | 54 bytes             | $X_553                 |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_122                              |
  +------------------------------+----------------------+-------------------------------------+
  | slot_header                  | 54 bytes             | $X_553                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  X_548
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.dal_publish_commitment   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
  **************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_684
  *****

  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                          |
  +===================================================================+======================+===================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_recover_bond |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+


  X_838 (Determined from data, 8-bit tag)
  ***************************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +-----------+----------------------+------------------------+
  | Name      | Size                 | Contents               |
  +===========+======================+========================+
  | Tag       | 1 byte               | unsigned 8-bit integer |
  +-----------+----------------------+------------------------+
  | whitelist | Determined from data | $X_107                 |
  +-----------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
  ************************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_43                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_838                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_43                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_838                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_824
  *****

  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                                    |
  +===================================================================+======================+=============================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+


  X_984 (1 byte, 8-bit tag)
  *************************

  Conflict_resolved (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Timeout (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_985 (Determined from data, 8-bit tag)
  ***************************************

  Loser (tag 0)
  =============

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | reason | 1 byte   | $X_984                 |
  +--------+----------+------------------------+
  | player | 21 bytes | $public_key_hash       |
  +--------+----------+------------------------+


  Draw (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_986 (Determined from data, 8-bit tag)
  ***************************************

  Ongoing (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Ended (tag 1)
  =============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | result | Determined from data | $X_985                 |
  +--------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | game_status                                                       | Determined from data | $X_986                  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | game_status                                                       | Determined from data | $X_986                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_979
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_timeout     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1278
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_publish     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+
  | inbox_level       | 4 bytes              | signed 32-bit integer  |
  +-------------------+----------------------+------------------------+
  | commitment_hash   | 32 bytes             | bytes                  |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_122                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | inbox_level                  | 4 bytes              | signed 32-bit integer               |
  +------------------------------+----------------------+-------------------------------------+
  | commitment_hash              | 32 bytes             | bytes                               |
  +------------------------------+----------------------+-------------------------------------+


  X_1418
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_cement      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_1553
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.event           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | address                                                           | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1689
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_originate   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
  ****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_43       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_43                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1829
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transfer_ticket          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
  *************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8        |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | storage_size                                                      | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | global_address                                                    | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_122                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | global_address                                                    | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_2387
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.register_global_constant |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2527
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2667
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.origination     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
  ************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_77                  |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_81       |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_122                              |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_77                               |
  +------------------------------+----------------------+-------------------------------------+


  X_2848
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_8                                                 |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transaction              |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_3186
  ******

  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | Name                                                              | Size     | Contents                                                     |
  +===================================================================+==========+==============================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer                                      |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_8                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | delegate                                                          | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_power                                                   | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_key                                                     | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+


  X_3198
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | allocated_destination_contract                                    | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation_metadata.alpha.balance_updates
  **********************************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_8        |
  +-----------------------+----------+-------------------------+


  X_3206
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | ? presence of field "forbidden_delegate"                          | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | forbidden_delegate                                                | 21 bytes | $public_key_hash                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_8                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
  *************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | level    | 4 bytes              | signed 32-bit integer                           |
  +----------+----------------------+-------------------------------------------------+
  | nonce    | 32 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------------------+----------------------------+
  | Name                  | Size                 | Contents                   |
  +=======================+======================+============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer     |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op1                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op2                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | metadata              | Determined from data | $X_3206                    |
  +-----------------------+----------------------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | bh1                   | Variable             | $raw_block_header       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | bh2                   | Variable             | $raw_block_header       |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_3206                 |
  +-----------------------+----------------------+-------------------------+


  Activate_account (tag 4)
  ========================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | pkh      | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | secret   | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------------------+-------------------------------+
  | Name                  | Size                 | Contents                      |
  +=======================+======================+===============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer        |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op1                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op2                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | metadata              | Determined from data | $X_3206                       |
  +-----------------------+----------------------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | solution | 200 bytes            | $X_109                                          |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | consensus_key | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | delegate      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | destination   | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_3198                |
  +---------------+----------------------+------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3186                 |
  +--------------------+----------------------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3186                 |
  +--------------------+----------------------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3186                 |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1553                |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_108                              |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_2848                             |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2667                             |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2527                             |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_2387                 |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | metadata                    | Determined from data | $X_1553                             |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+
  | metadata      | Determined from data | $X_684                        |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1553                |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1829                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+------------------------------------------------------------+
  | Name                            | Size                 | Contents                                                   |
  +=================================+======================+============================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                           |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_106) |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                        |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | whitelist                       | Determined from data | $X_107                                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | metadata                        | Determined from data | $X_1689                                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_81       |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1553                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1418                |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_104                 |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1278                |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_103                 |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_979                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_97                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_979                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_824                  |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_684                 |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_96                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_548                 |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_93                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | metadata              | Determined from data | $X_407                                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_87       |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_264                  |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_79                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_118                 |
  +---------------+----------------------+------------------------+


  X_3224 (Variable, 8-bit tag)
  ****************************

  Operation_with_metadata (tag 0)
  ===============================

  +-----------------------+----------+------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                         |
  +=======================+==========+==================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                           |
  +-----------------------+----------+------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                          |
  +-----------------------+----------+------------------------------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.operation_contents_and_result |
  +-----------------------+----------+------------------------------------------------------------------+
  | signature             | Variable | bytes                                                            |
  +-----------------------+----------+------------------------------------------------------------------+


  Operation_without_metadata (tag 1)
  ==================================

  +-----------------------+----------+---------------------------------------------+
  | Name                  | Size     | Contents                                    |
  +=======================+==========+=============================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                      |
  +-----------------------+----------+---------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                     |
  +-----------------------+----------+---------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.contents |
  +-----------------------+----------+---------------------------------------------+
  | signature             | Variable | bytes                                       |
  +-----------------------+----------+---------------------------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bh1                   | Variable | $raw_block_header       |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bh2                   | Variable | $raw_block_header       |
  +-----------------------+----------+-------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_109                 |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_108                              |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+------------------------------------------------------------+
  | Name                            | Size                 | Contents                                                   |
  +=================================+======================+============================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                           |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                       |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_106) |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                    |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                      |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                        |
  +---------------------------------+----------------------+------------------------------------------------------------+
  | whitelist                       | Determined from data | $X_107                                                     |
  +---------------------------------+----------------------+------------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_81       |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_104                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_103                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_97                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_96                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_93                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_87       |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_79                  |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_3287 (Variable, 8-bit tag)
  ****************************

  Operation with too large metadata (tag 0)
  =========================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation without metadata (tag 1)
  ==================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation with metadata (tag 2)
  ===============================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | Variable | $X_3224                |
  +-----------------+----------+------------------------+


  operation
  *********

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | chain_id              | 4 bytes  | bytes                   |
  +-----------------------+----------+-------------------------+
  | hash                  | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch                | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | $X_3287                 |
  +-----------------------+----------+-------------------------+


  X_78
  ****

  +--------------------------+----------+-------------------------+
  | Name                     | Size     | Contents                |
  +==========================+==========+=========================+
  | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | # bytes in next field    | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | Unnamed field 0          | Variable | sequence of $operation  |
  +--------------------------+----------+-------------------------+

  

GET ../<block_id>/context/adaptive_issuance_launch_cycle

Returns the cycle at which the launch of the Adaptive Issuance feature is set to happen. A result of None means that the feature is not yet set to launch.

  integer ∈ [-2^31-1, 2^31] /* Some */ || null /* None */
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | Tag             | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+

  

GET ../<block_id>/context/big_maps/<big_map_id>?[offset=<uint>]&[length=<uint>]

Get the (optionally paginated) list of values in a big map. Order of values is unspecified, but is guaranteed to be consistent.

Optional query arguments :

  • offset = <uint> : Skip the first [offset] values. Useful in combination with [length] for pagination.
  • length = <uint> : Only retrieve [length] values. Useful in combination with [offset] for pagination.

  [ $micheline.alpha.michelson_v1.expression ... ]
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/context/big_maps/<big_map_id>/<script_expr>

Access the value associated with a key in a big map.

  $micheline.alpha.michelson_v1.expression
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+------------------------------------------+
  | Name            | Size                 | Contents                                 |
  +=================+======================+==========================================+
  | Unnamed field 0 | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------+----------------------+------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/context/cache/contracts/all

Return the list of cached contracts

  [ [ $Contract_hash, integer ∈ [-2^30, 2^30] ] ... ]
  $Contract_hash:
    /* A contract ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------+----------+--------------------------------------------------------------+
  | Name            | Size     | Contents                                                     |
  +=================+==========+==============================================================+
  | Unnamed field 0 | 20 bytes | bytes                                                        |
  +-----------------+----------+--------------------------------------------------------------+
  | Unnamed field 1 | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+----------+--------------------------------------------------------------+

  

POST ../<block_id>/context/cache/contracts/rank

Return the number of cached contracts older than the provided contract

  $unistring
  /* A contract handle -- originated account
     A contract notation as given to an RPC or inside scripts. Can be a
     base58 originated contract hash. */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------+----------+
  | Name            | Size     | Contents |
  +=================+==========+==========+
  | Unnamed field 0 | 22 bytes | $X_0     |
  +-----------------+----------+----------+


  X_0 (22 bytes, 8-bit tag)
  *************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+

  
  integer ∈ [-2^30, 2^30] /* Some */ || null /* None */
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+---------+--------------------------------------------------------------+
  | Name            | Size    | Contents                                                     |
  +=================+=========+==============================================================+
  | Tag             | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------+---------+--------------------------------------------------------------+
  | Unnamed field 0 | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+---------+--------------------------------------------------------------+

  

GET ../<block_id>/context/cache/contracts/size

Return the size of the contract cache

  integer ∈ [-2^30, 2^30]
  +-----------------+---------+--------------------------------------------------------------+
  | Name            | Size    | Contents                                                     |
  +=================+=========+==============================================================+
  | Unnamed field 0 | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+---------+--------------------------------------------------------------+


  

GET ../<block_id>/context/cache/contracts/size_limit

Return the size limit of the contract cache

  integer ∈ [-2^30, 2^30]
  +-----------------+---------+--------------------------------------------------------------+
  | Name            | Size    | Contents                                                     |
  +=================+=========+==============================================================+
  | Unnamed field 0 | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+---------+--------------------------------------------------------------+


  

GET ../<block_id>/context/constants

All constants

  { "proof_of_work_nonce_size": integer ∈ [0, 255],
    "nonce_length": integer ∈ [0, 255],
    "max_anon_ops_per_block": integer ∈ [0, 255],
    "max_operation_data_length": integer ∈ [-2^30, 2^30],
    "max_proposals_per_delegate": integer ∈ [0, 255],
    "max_micheline_node_count": integer ∈ [-2^30, 2^30],
    "max_micheline_bytes_limit": integer ∈ [-2^30, 2^30],
    "max_allowed_global_constants_depth": integer ∈ [-2^30, 2^30],
    "cache_layout_size": integer ∈ [0, 255],
    "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
    "max_slashing_period": integer ∈ [0, 255],
    "smart_rollup_max_wrapped_proof_binary_size": integer ∈ [-2^30, 2^30],
    "smart_rollup_message_size_limit": integer ∈ [-2^30, 2^30],
    "smart_rollup_max_number_of_messages_per_level": $positive_bignum,
    "consensus_rights_delay": integer ∈ [0, 255],
    "blocks_preservation_cycles": integer ∈ [0, 255],
    "delegate_parameters_activation_delay": integer ∈ [0, 255],
    "blocks_per_cycle": integer ∈ [-2^31-1, 2^31],
    "blocks_per_commitment": integer ∈ [-2^31-1, 2^31],
    "nonce_revelation_threshold": integer ∈ [-2^31-1, 2^31],
    "cycles_per_voting_period": integer ∈ [-2^31-1, 2^31],
    "hard_gas_limit_per_operation": $bignum,
    "hard_gas_limit_per_block": $bignum,
    "proof_of_work_threshold": $int64,
    "minimal_stake": $alpha.mutez,
    "minimal_frozen_stake": $alpha.mutez,
    "vdf_difficulty": $int64,
    "origination_size": integer ∈ [-2^30, 2^30],
    "issuance_weights":
      { "base_total_issued_per_minute": $alpha.mutez,
        "baking_reward_fixed_portion_weight": integer ∈ [-2^30, 2^30],
        "baking_reward_bonus_weight": integer ∈ [-2^30, 2^30],
        "attesting_reward_weight": integer ∈ [-2^30, 2^30],
        "seed_nonce_revelation_tip_weight": integer ∈ [-2^30, 2^30],
        "vdf_revelation_tip_weight": integer ∈ [-2^30, 2^30] },
    "cost_per_byte": $alpha.mutez,
    "hard_storage_limit_per_operation": $bignum,
    "quorum_min": integer ∈ [-2^31-1, 2^31],
    "quorum_max": integer ∈ [-2^31-1, 2^31],
    "min_proposal_quorum": integer ∈ [-2^31-1, 2^31],
    "liquidity_baking_subsidy": $alpha.mutez,
    "liquidity_baking_toggle_ema_threshold": integer ∈ [-2^31-1, 2^31],
    "max_operations_time_to_live": integer ∈ [-2^15, 2^15-1],
    "minimal_block_delay": $int64,
    "delay_increment_per_round": $int64,
    "consensus_committee_size": integer ∈ [-2^30, 2^30],
    "consensus_threshold": integer ∈ [-2^30, 2^30],
    "minimal_participation_ratio":
      { "numerator": integer ∈ [0, 2^16-1],
        "denominator": integer ∈ [0, 2^16-1] },
    "limit_of_delegation_over_baking": integer ∈ [0, 255],
    "percentage_of_frozen_deposits_slashed_per_double_baking":
      integer ∈ [0, 2^16-1],
    "percentage_of_frozen_deposits_slashed_per_double_attestation":
      integer ∈ [0, 2^16-1],
    "max_slashing_per_block": integer ∈ [0, 2^16-1],
    "max_slashing_threshold": integer ∈ [-2^30, 2^30],
    "testnet_dictator"?: $Signature.Public_key_hash,
    "initial_seed"?: $random,
    "cache_script_size": integer ∈ [-2^30, 2^30],
    "cache_stake_distribution_cycles": integer ∈ [-128, 127],
    "cache_sampler_state_cycles": integer ∈ [-128, 127],
    "dal_parametric":
      { "feature_enable": boolean,
        "incentives_enable": boolean,
        "number_of_slots": integer ∈ [0, 2^16-1],
        "attestation_lag": integer ∈ [0, 255],
        "attestation_threshold": integer ∈ [0, 255],
        "redundancy_factor": integer ∈ [0, 255],
        "page_size": integer ∈ [0, 2^16-1],
        "slot_size": integer ∈ [-2^30, 2^30],
        "number_of_shards": integer ∈ [0, 2^16-1] },
    "smart_rollup_arith_pvm_enable": boolean,
    "smart_rollup_origination_size": integer ∈ [-2^30, 2^30],
    "smart_rollup_challenge_window_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_stake_amount": $alpha.mutez,
    "smart_rollup_commitment_period_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_max_lookahead_in_blocks": integer ∈ [-2^31-1, 2^31],
    "smart_rollup_max_active_outbox_levels": integer ∈ [-2^31-1, 2^31],
    "smart_rollup_max_outbox_messages_per_level": integer ∈ [-2^30, 2^30],
    "smart_rollup_number_of_sections_in_dissection": integer ∈ [0, 255],
    "smart_rollup_timeout_period_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_max_number_of_cemented_commitments":
      integer ∈ [-2^30, 2^30],
    "smart_rollup_max_number_of_parallel_games": integer ∈ [-2^30, 2^30],
    "smart_rollup_reveal_activation_level":
      { "raw_data": { "Blake2B": integer ∈ [0, 2^31] },
        "metadata": integer ∈ [0, 2^31],
        "dal_page": integer ∈ [0, 2^31],
        "dal_parameters": integer ∈ [0, 2^31],
        "dal_attested_slots_validity_lag": integer ∈ [-2^30, 2^30] },
    "smart_rollup_private_enable": boolean,
    "smart_rollup_riscv_pvm_enable": boolean,
    "zk_rollup_enable": boolean,
    "zk_rollup_origination_size": integer ∈ [-2^30, 2^30],
    "zk_rollup_min_pending_to_process": integer ∈ [-2^30, 2^30],
    "zk_rollup_max_ticket_payload_size": integer ∈ [-2^30, 2^30],
    "global_limit_of_staking_over_baking": integer ∈ [0, 255],
    "edge_of_staking_over_delegation": integer ∈ [0, 255],
    "adaptive_issuance_launch_ema_threshold": integer ∈ [-2^31-1, 2^31],
    "adaptive_rewards_params":
      { "issuance_ratio_final_min":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_final_max":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_initial_min":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_initial_max":
          { "numerator": $bignum,
            "denominator": $bignum },
        "initial_period": integer ∈ [0, 255],
        "transition_period": integer ∈ [0, 255],
        "max_bonus": $int64,
        "growth_rate": { "numerator": $bignum,
                         "denominator": $bignum },
        "center_dz": { "numerator": $bignum,
                       "denominator": $bignum },
        "radius_dz": { "numerator": $bignum,
                       "denominator": $bignum } },
    "adaptive_issuance_activation_vote_enable": boolean,
    "autostaking_enable": boolean,
    "adaptive_issuance_force_activation": boolean,
    "ns_enable": boolean,
    "direct_ticket_spending_enable": boolean }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $random:
    /* A random generation state (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | Name                                                         | Size                 | Contents                                                     |
  +==============================================================+======================+==============================================================+
  | proof_of_work_nonce_size                                     | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | nonce_length                                                 | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_anon_ops_per_block                                       | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_operation_data_length                                    | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_proposals_per_delegate                                   | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_micheline_node_count                                     | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_micheline_bytes_limit                                    | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_allowed_global_constants_depth                           | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_layout_size                                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | michelson_maximum_type_size                                  | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_slashing_period                                          | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_wrapped_proof_binary_size                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_message_size_limit                              | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_number_of_messages_per_level                | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | consensus_rights_delay                                       | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_preservation_cycles                                   | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | delegate_parameters_activation_delay                         | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_per_cycle                                             | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_per_commitment                                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | nonce_revelation_threshold                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cycles_per_voting_period                                     | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_gas_limit_per_operation                                 | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_gas_limit_per_block                                     | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | proof_of_work_threshold                                      | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_stake                                                | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_frozen_stake                                         | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | vdf_difficulty                                               | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | origination_size                                             | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | issuance_weights                                             | Determined from data | $X_0                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cost_per_byte                                                | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_storage_limit_per_operation                             | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | quorum_min                                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | quorum_max                                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | min_proposal_quorum                                          | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | liquidity_baking_subsidy                                     | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | liquidity_baking_toggle_ema_threshold                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_operations_time_to_live                                  | 2 bytes              | signed 16-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_block_delay                                          | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | delay_increment_per_round                                    | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | consensus_committee_size                                     | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | consensus_threshold                                          | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_participation_ratio                                  | 4 bytes              | $X_1                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | limit_of_delegation_over_baking                              | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | percentage_of_frozen_deposits_slashed_per_double_baking      | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | percentage_of_frozen_deposits_slashed_per_double_attestation | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_slashing_per_block                                       | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_slashing_threshold                                       | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "testnet_dictator"                       | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | testnet_dictator                                             | 21 bytes             | $public_key_hash                                             |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "initial_seed"                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | initial_seed                                                 | 32 bytes             | bytes                                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_script_size                                            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_stake_distribution_cycles                              | 1 byte               | signed 8-bit integer                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_sampler_state_cycles                                   | 1 byte               | signed 8-bit integer                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | dal_parametric                                               | 15 bytes             | $X_2                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_arith_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_origination_size                                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_challenge_window_in_blocks                      | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_stake_amount                                    | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_commitment_period_in_blocks                     | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_lookahead_in_blocks                         | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_active_outbox_levels                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_outbox_messages_per_level                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_number_of_sections_in_dissection                | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_timeout_period_in_blocks                        | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_number_of_cemented_commitments              | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_number_of_parallel_games                    | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_reveal_activation_level                         | 20 bytes             | $X_3                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_private_enable                                  | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_riscv_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_enable                                             | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_origination_size                                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_min_pending_to_process                             | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_max_ticket_payload_size                            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | global_limit_of_staking_over_baking                          | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | edge_of_staking_over_delegation                              | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_launch_ema_threshold                       | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_rewards_params                                      | Determined from data | $X_4                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_activation_vote_enable                     | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | autostaking_enable                                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_force_activation                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ns_enable                                                    | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | direct_ticket_spending_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +------------------------------------+----------------------+--------------------------------------------------------------+
  | Name                               | Size                 | Contents                                                     |
  +====================================+======================+==============================================================+
  | base_total_issued_per_minute       | Determined from data | $N.t                                                         |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | baking_reward_fixed_portion_weight | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | baking_reward_bonus_weight         | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | attesting_reward_weight            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | seed_nonce_revelation_tip_weight   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | vdf_revelation_tip_weight          | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+


  X_1
  ***

  +-------------+---------+-------------------------+
  | Name        | Size    | Contents                |
  +=============+=========+=========================+
  | numerator   | 2 bytes | unsigned 16-bit integer |
  +-------------+---------+-------------------------+
  | denominator | 2 bytes | unsigned 16-bit integer |
  +-------------+---------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_2
  ***

  +-----------------------+---------+--------------------------------------------------------------+
  | Name                  | Size    | Contents                                                     |
  +=======================+=========+==============================================================+
  | feature_enable        | 1 byte  | boolean (0 for false, 255 for true)                          |
  +-----------------------+---------+--------------------------------------------------------------+
  | incentives_enable     | 1 byte  | boolean (0 for false, 255 for true)                          |
  +-----------------------+---------+--------------------------------------------------------------+
  | number_of_slots       | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+
  | attestation_lag       | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | attestation_threshold | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | redundancy_factor     | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | page_size             | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+
  | slot_size             | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+---------+--------------------------------------------------------------+
  | number_of_shards      | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+


  X_3
  ***

  +---------------------------------+---------+--------------------------------------------------------------+
  | Name                            | Size    | Contents                                                     |
  +=================================+=========+==============================================================+
  | raw_data                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | metadata                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_page                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_parameters                  | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_attested_slots_validity_lag | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +---------------------------------+---------+--------------------------------------------------------------+


  X_5
  ***

  +-------------+----------------------+----------+
  | Name        | Size                 | Contents |
  +=============+======================+==========+
  | numerator   | Determined from data | $Z.t     |
  +-------------+----------------------+----------+
  | denominator | Determined from data | $Z.t     |
  +-------------+----------------------+----------+


  X_4
  ***

  +----------------------------+----------------------+------------------------+
  | Name                       | Size                 | Contents               |
  +============================+======================+========================+
  | issuance_ratio_final_min   | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_final_max   | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_initial_min | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_initial_max | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | initial_period             | 1 byte               | unsigned 8-bit integer |
  +----------------------------+----------------------+------------------------+
  | transition_period          | 1 byte               | unsigned 8-bit integer |
  +----------------------------+----------------------+------------------------+
  | max_bonus                  | 8 bytes              | signed 64-bit integer  |
  +----------------------------+----------------------+------------------------+
  | growth_rate                | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | center_dz                  | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | radius_dz                  | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+

  

GET ../<block_id>/context/constants/errors

Schema for all the RPC errors from this protocol version

  any
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/context/constants/parametric

Parametric constants

  { "consensus_rights_delay": integer ∈ [0, 255],
    "blocks_preservation_cycles": integer ∈ [0, 255],
    "delegate_parameters_activation_delay": integer ∈ [0, 255],
    "blocks_per_cycle": integer ∈ [-2^31-1, 2^31],
    "blocks_per_commitment": integer ∈ [-2^31-1, 2^31],
    "nonce_revelation_threshold": integer ∈ [-2^31-1, 2^31],
    "cycles_per_voting_period": integer ∈ [-2^31-1, 2^31],
    "hard_gas_limit_per_operation": $bignum,
    "hard_gas_limit_per_block": $bignum,
    "proof_of_work_threshold": $int64,
    "minimal_stake": $alpha.mutez,
    "minimal_frozen_stake": $alpha.mutez,
    "vdf_difficulty": $int64,
    "origination_size": integer ∈ [-2^30, 2^30],
    "issuance_weights":
      { "base_total_issued_per_minute": $alpha.mutez,
        "baking_reward_fixed_portion_weight": integer ∈ [-2^30, 2^30],
        "baking_reward_bonus_weight": integer ∈ [-2^30, 2^30],
        "attesting_reward_weight": integer ∈ [-2^30, 2^30],
        "seed_nonce_revelation_tip_weight": integer ∈ [-2^30, 2^30],
        "vdf_revelation_tip_weight": integer ∈ [-2^30, 2^30] },
    "cost_per_byte": $alpha.mutez,
    "hard_storage_limit_per_operation": $bignum,
    "quorum_min": integer ∈ [-2^31-1, 2^31],
    "quorum_max": integer ∈ [-2^31-1, 2^31],
    "min_proposal_quorum": integer ∈ [-2^31-1, 2^31],
    "liquidity_baking_subsidy": $alpha.mutez,
    "liquidity_baking_toggle_ema_threshold": integer ∈ [-2^31-1, 2^31],
    "max_operations_time_to_live": integer ∈ [-2^15, 2^15-1],
    "minimal_block_delay": $int64,
    "delay_increment_per_round": $int64,
    "consensus_committee_size": integer ∈ [-2^30, 2^30],
    "consensus_threshold": integer ∈ [-2^30, 2^30],
    "minimal_participation_ratio":
      { "numerator": integer ∈ [0, 2^16-1],
        "denominator": integer ∈ [0, 2^16-1] },
    "limit_of_delegation_over_baking": integer ∈ [0, 255],
    "percentage_of_frozen_deposits_slashed_per_double_baking":
      integer ∈ [0, 2^16-1],
    "percentage_of_frozen_deposits_slashed_per_double_attestation":
      integer ∈ [0, 2^16-1],
    "max_slashing_per_block": integer ∈ [0, 2^16-1],
    "max_slashing_threshold": integer ∈ [-2^30, 2^30],
    "testnet_dictator"?: $Signature.Public_key_hash,
    "initial_seed"?: $random,
    "cache_script_size": integer ∈ [-2^30, 2^30],
    "cache_stake_distribution_cycles": integer ∈ [-128, 127],
    "cache_sampler_state_cycles": integer ∈ [-128, 127],
    "dal_parametric":
      { "feature_enable": boolean,
        "incentives_enable": boolean,
        "number_of_slots": integer ∈ [0, 2^16-1],
        "attestation_lag": integer ∈ [0, 255],
        "attestation_threshold": integer ∈ [0, 255],
        "redundancy_factor": integer ∈ [0, 255],
        "page_size": integer ∈ [0, 2^16-1],
        "slot_size": integer ∈ [-2^30, 2^30],
        "number_of_shards": integer ∈ [0, 2^16-1] },
    "smart_rollup_arith_pvm_enable": boolean,
    "smart_rollup_origination_size": integer ∈ [-2^30, 2^30],
    "smart_rollup_challenge_window_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_stake_amount": $alpha.mutez,
    "smart_rollup_commitment_period_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_max_lookahead_in_blocks": integer ∈ [-2^31-1, 2^31],
    "smart_rollup_max_active_outbox_levels": integer ∈ [-2^31-1, 2^31],
    "smart_rollup_max_outbox_messages_per_level": integer ∈ [-2^30, 2^30],
    "smart_rollup_number_of_sections_in_dissection": integer ∈ [0, 255],
    "smart_rollup_timeout_period_in_blocks": integer ∈ [-2^30, 2^30],
    "smart_rollup_max_number_of_cemented_commitments":
      integer ∈ [-2^30, 2^30],
    "smart_rollup_max_number_of_parallel_games": integer ∈ [-2^30, 2^30],
    "smart_rollup_reveal_activation_level":
      { "raw_data": { "Blake2B": integer ∈ [0, 2^31] },
        "metadata": integer ∈ [0, 2^31],
        "dal_page": integer ∈ [0, 2^31],
        "dal_parameters": integer ∈ [0, 2^31],
        "dal_attested_slots_validity_lag": integer ∈ [-2^30, 2^30] },
    "smart_rollup_private_enable": boolean,
    "smart_rollup_riscv_pvm_enable": boolean,
    "zk_rollup_enable": boolean,
    "zk_rollup_origination_size": integer ∈ [-2^30, 2^30],
    "zk_rollup_min_pending_to_process": integer ∈ [-2^30, 2^30],
    "zk_rollup_max_ticket_payload_size": integer ∈ [-2^30, 2^30],
    "global_limit_of_staking_over_baking": integer ∈ [0, 255],
    "edge_of_staking_over_delegation": integer ∈ [0, 255],
    "adaptive_issuance_launch_ema_threshold": integer ∈ [-2^31-1, 2^31],
    "adaptive_rewards_params":
      { "issuance_ratio_final_min":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_final_max":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_initial_min":
          { "numerator": $bignum,
            "denominator": $bignum },
        "issuance_ratio_initial_max":
          { "numerator": $bignum,
            "denominator": $bignum },
        "initial_period": integer ∈ [0, 255],
        "transition_period": integer ∈ [0, 255],
        "max_bonus": $int64,
        "growth_rate": { "numerator": $bignum,
                         "denominator": $bignum },
        "center_dz": { "numerator": $bignum,
                       "denominator": $bignum },
        "radius_dz": { "numerator": $bignum,
                       "denominator": $bignum } },
    "adaptive_issuance_activation_vote_enable": boolean,
    "autostaking_enable": boolean,
    "adaptive_issuance_force_activation": boolean,
    "ns_enable": boolean,
    "direct_ticket_spending_enable": boolean }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $random:
    /* A random generation state (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | Name                                                         | Size                 | Contents                                                     |
  +==============================================================+======================+==============================================================+
  | consensus_rights_delay                                       | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_preservation_cycles                                   | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | delegate_parameters_activation_delay                         | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_per_cycle                                             | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | blocks_per_commitment                                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | nonce_revelation_threshold                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cycles_per_voting_period                                     | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_gas_limit_per_operation                                 | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_gas_limit_per_block                                     | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | proof_of_work_threshold                                      | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_stake                                                | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_frozen_stake                                         | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | vdf_difficulty                                               | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | origination_size                                             | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | issuance_weights                                             | Determined from data | $X_0                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cost_per_byte                                                | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | hard_storage_limit_per_operation                             | Determined from data | $Z.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | quorum_min                                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | quorum_max                                                   | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | min_proposal_quorum                                          | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | liquidity_baking_subsidy                                     | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | liquidity_baking_toggle_ema_threshold                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_operations_time_to_live                                  | 2 bytes              | signed 16-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_block_delay                                          | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | delay_increment_per_round                                    | 8 bytes              | signed 64-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | consensus_committee_size                                     | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | consensus_threshold                                          | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_participation_ratio                                  | 4 bytes              | $X_1                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | limit_of_delegation_over_baking                              | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | percentage_of_frozen_deposits_slashed_per_double_baking      | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | percentage_of_frozen_deposits_slashed_per_double_attestation | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_slashing_per_block                                       | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | max_slashing_threshold                                       | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "testnet_dictator"                       | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | testnet_dictator                                             | 21 bytes             | $public_key_hash                                             |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "initial_seed"                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | initial_seed                                                 | 32 bytes             | bytes                                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_script_size                                            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_stake_distribution_cycles                              | 1 byte               | signed 8-bit integer                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | cache_sampler_state_cycles                                   | 1 byte               | signed 8-bit integer                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | dal_parametric                                               | 15 bytes             | $X_2                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_arith_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_origination_size                                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_challenge_window_in_blocks                      | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_stake_amount                                    | Determined from data | $N.t                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_commitment_period_in_blocks                     | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_lookahead_in_blocks                         | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_active_outbox_levels                        | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_outbox_messages_per_level                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_number_of_sections_in_dissection                | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_timeout_period_in_blocks                        | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_number_of_cemented_commitments              | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_max_number_of_parallel_games                    | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_reveal_activation_level                         | 20 bytes             | $X_3                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_private_enable                                  | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | smart_rollup_riscv_pvm_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_enable                                             | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_origination_size                                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_min_pending_to_process                             | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | zk_rollup_max_ticket_payload_size                            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | global_limit_of_staking_over_baking                          | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | edge_of_staking_over_delegation                              | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_launch_ema_threshold                       | 4 bytes              | signed 32-bit integer                                        |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_rewards_params                                      | Determined from data | $X_4                                                         |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_activation_vote_enable                     | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | autostaking_enable                                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | adaptive_issuance_force_activation                           | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | ns_enable                                                    | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | direct_ticket_spending_enable                                | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------------------------------------+----------------------+--------------------------------------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +------------------------------------+----------------------+--------------------------------------------------------------+
  | Name                               | Size                 | Contents                                                     |
  +====================================+======================+==============================================================+
  | base_total_issued_per_minute       | Determined from data | $N.t                                                         |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | baking_reward_fixed_portion_weight | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | baking_reward_bonus_weight         | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | attesting_reward_weight            | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | seed_nonce_revelation_tip_weight   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+
  | vdf_revelation_tip_weight          | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +------------------------------------+----------------------+--------------------------------------------------------------+


  X_1
  ***

  +-------------+---------+-------------------------+
  | Name        | Size    | Contents                |
  +=============+=========+=========================+
  | numerator   | 2 bytes | unsigned 16-bit integer |
  +-------------+---------+-------------------------+
  | denominator | 2 bytes | unsigned 16-bit integer |
  +-------------+---------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_2
  ***

  +-----------------------+---------+--------------------------------------------------------------+
  | Name                  | Size    | Contents                                                     |
  +=======================+=========+==============================================================+
  | feature_enable        | 1 byte  | boolean (0 for false, 255 for true)                          |
  +-----------------------+---------+--------------------------------------------------------------+
  | incentives_enable     | 1 byte  | boolean (0 for false, 255 for true)                          |
  +-----------------------+---------+--------------------------------------------------------------+
  | number_of_slots       | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+
  | attestation_lag       | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | attestation_threshold | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | redundancy_factor     | 1 byte  | unsigned 8-bit integer                                       |
  +-----------------------+---------+--------------------------------------------------------------+
  | page_size             | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+
  | slot_size             | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+---------+--------------------------------------------------------------+
  | number_of_shards      | 2 bytes | unsigned 16-bit integer                                      |
  +-----------------------+---------+--------------------------------------------------------------+


  X_3
  ***

  +---------------------------------+---------+--------------------------------------------------------------+
  | Name                            | Size    | Contents                                                     |
  +=================================+=========+==============================================================+
  | raw_data                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | metadata                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_page                        | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_parameters                  | 4 bytes | signed 32-bit integer                                        |
  +---------------------------------+---------+--------------------------------------------------------------+
  | dal_attested_slots_validity_lag | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +---------------------------------+---------+--------------------------------------------------------------+


  X_5
  ***

  +-------------+----------------------+----------+
  | Name        | Size                 | Contents |
  +=============+======================+==========+
  | numerator   | Determined from data | $Z.t     |
  +-------------+----------------------+----------+
  | denominator | Determined from data | $Z.t     |
  +-------------+----------------------+----------+


  X_4
  ***

  +----------------------------+----------------------+------------------------+
  | Name                       | Size                 | Contents               |
  +============================+======================+========================+
  | issuance_ratio_final_min   | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_final_max   | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_initial_min | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | issuance_ratio_initial_max | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | initial_period             | 1 byte               | unsigned 8-bit integer |
  +----------------------------+----------------------+------------------------+
  | transition_period          | 1 byte               | unsigned 8-bit integer |
  +----------------------------+----------------------+------------------------+
  | max_bonus                  | 8 bytes              | signed 64-bit integer  |
  +----------------------------+----------------------+------------------------+
  | growth_rate                | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | center_dz                  | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+
  | radius_dz                  | Determined from data | $X_5                   |
  +----------------------------+----------------------+------------------------+

  

GET ../<block_id>/context/contracts

All existing contracts (excluding empty implicit contracts).

  [ $alpha.contract_id ... ]
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+--------------------------------+
  | Name                  | Size     | Contents                       |
  +=======================+==========+================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer        |
  +-----------------------+----------+--------------------------------+
  | Unnamed field 0       | Variable | sequence of $alpha.contract_id |
  +-----------------------+----------+--------------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>?[normalize_types]

Access the complete status of a contract.

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

  { "balance": $alpha.mutez,
    "delegate"?: $Signature.Public_key_hash,
    "script"?: $alpha.scripted.contracts,
    "counter"?: $positive_bignum }
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "script"   | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "counter"  | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/balance

Access the spendable balance of a contract, excluding frozen bonds.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/balance_and_frozen_bonds

Access the sum of the spendable balance and frozen bonds of a contract. This sum is part of the contract's stake, and it is exactly the contract's stake if the contract is not a delegate.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

POST ../<block_id>/context/contracts/<contract_id>/big_map_get

Access the value associated with a key in a big map of the contract (deprecated).

  { "key": $micheline.alpha.michelson_v1.expression,
    "type": $micheline.alpha.michelson_v1.expression }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +------+----------------------+------------------------------------------+
  | Name | Size                 | Contents                                 |
  +======+======================+==========================================+
  | key  | Determined from data | $micheline.alpha.michelson_v1.expression |
  +------+----------------------+------------------------------------------+
  | type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +------+----------------------+------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  
  $micheline.alpha.michelson_v1.expression /* Some */ || null /* None */
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_1     |
  +-----------------+----------------------+----------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_1 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------------------------+
  | Name            | Size                 | Contents                                 |
  +=================+======================+==========================================+
  | Tag             | 1 byte               | unsigned 8-bit integer                   |
  +-----------------+----------------------+------------------------------------------+
  | Unnamed field 0 | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------+----------------------+------------------------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/counter

Access the counter of a contract, if any.

  string
  /* Positive big number
     Decimal representation of a positive big number */
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/delegate

Access the delegate of a contract, if any.

  $unistring
  /* A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded) */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +---------------------------+----------+------------------+
  | Name                      | Size     | Contents         |
  +===========================+==========+==================+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash |
  +---------------------------+----------+------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/entrypoints?[normalize_types]

Return the list of entrypoints of the contract

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

  { "unreachable"?:
      [ { "path": [ $alpha.michelson.v1.primitives ... ] } ... ],
    "entrypoints": { *: $micheline.alpha.michelson_v1.expression } }
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | unreachable           | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | entrypoints           | Variable | sequence of $X_1        |
  +-----------------------+----------+-------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  X_0
  ***

  +-----------------------+----------+------------------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                                       |
  +=======================+==========+================================================================================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                        |
  +-----------------------+----------+------------------------------------------------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------------------+


  X_2
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_1
  ***

  +-----------------+----------------------+------------------------------------------+
  | Name            | Size                 | Contents                                 |
  +=================+======================+==========================================+
  | Unnamed field 0 | Determined from data | $X_2                                     |
  +-----------------+----------------------+------------------------------------------+
  | Unnamed field 1 | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------+----------------------+------------------------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/entrypoints/<entrypoint>?[normalize_types]

Return the type of the given entrypoint of the contract

Optional query arguments :

  • normalize_types : Whether types should be normalized (annotations removed, combs flattened) or kept as they appeared in the original script.

  $micheline.alpha.michelson_v1.expression
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+------------------------------------------+
  | Name            | Size                 | Contents                                 |
  +=================+======================+==========================================+
  | Unnamed field 0 | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------+----------------------+------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/estimated_own_pending_slashed_amount

Returns the estimated own pending slashed amount (in mutez) of a given contract.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/frozen_bonds

Access the frozen bonds of a contract.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/full_balance

Access the full balance of a contract, including frozen bonds and stake.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/manager_key

Access the manager of an implicit contract.

  $Signature.Public_key /* Some */ || null /* None */
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------------------+----------------------+------------------------+
  | Name                 | Size                 | Contents               |
  +======================+======================+========================+
  | Tag                  | 1 byte               | unsigned 8-bit integer |
  +----------------------+----------------------+------------------------+
  | Signature.Public_key | Determined from data | $public_key            |
  +----------------------+----------------------+------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/script

Access the code and data of the contract.

  { "code": any,
    "storage": any }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/context/contracts/<contract_id>/single_sapling_get_diff?[offset_commitment=<uint63>]&[offset_nullifier=<uint63>]

Returns the root and a diff of a state starting from an optional offset which is zero by default.

Optional query arguments :

  • offset_commitment = <uint63> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <uint63> : Nullifiers are returned from the specified offset up to the most recent.

  { "root": $sapling.transaction.commitment_hash,
    "commitments_and_ciphertexts":
      [ [ $sapling.transaction.commitment, $sapling.transaction.ciphertext ] ... ],
    "nullifiers": [ $sapling.transaction.nullifier ... ] }
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_hash: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | root                        | 32 bytes | bytes                   |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_0        |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/staked_balance

Access the staked balance of a contract. Returns None if the contract is originated, or neither delegated nor a delegate.

  $alpha.mutez /* Some */ || null /* None */
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $N.t                   |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/staking_numerator

Returns an abstract representation of the contract's total_delegated_stake.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/contracts/<contract_id>/storage

Access the data of the contract.

  $micheline.alpha.michelson_v1.expression
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+------------------------------------------+
  | Name            | Size                 | Contents                                 |
  +=================+======================+==========================================+
  | Unnamed field 0 | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------+----------------------+------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/unstake_requests

Access the unstake requests of the contract. The requests that appear in the finalizable field can be finalized, which means that the contract can transfer these (no longer frozen) funds to their spendable balance with a [finalize_unstake] operation call. Returns None if there is no unstake request pending.

  { /* Some */
    "finalizable":
      [ { "delegate": $Signature.Public_key_hash,
          "cycle": integer ∈ [-2^31-1, 2^31],
          "amount": $alpha.mutez } ... ],
    "unfinalizable":
      { "delegate": $Signature.Public_key_hash,
        "requests":
          [ { "cycle": integer ∈ [-2^31-1, 2^31],
              "amount": $alpha.mutez } ... ] } }
  || null
  /* None */
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +----------+----------------------+-----------------------+
  | Name     | Size                 | Contents              |
  +==========+======================+=======================+
  | delegate | 21 bytes             | $public_key_hash      |
  +----------+----------------------+-----------------------+
  | cycle    | 4 bytes              | signed 32-bit integer |
  +----------+----------------------+-----------------------+
  | amount   | Determined from data | $N.t                  |
  +----------+----------------------+-----------------------+


  X_2
  ***

  +--------+----------------------+-----------------------+
  | Name   | Size                 | Contents              |
  +========+======================+=======================+
  | cycle  | 4 bytes              | signed 32-bit integer |
  +--------+----------------------+-----------------------+
  | amount | Determined from data | $N.t                  |
  +--------+----------------------+-----------------------+


  X_1
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | delegate              | 21 bytes | $public_key_hash        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | requests              | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  X_3 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | finalizable           | Variable             | sequence of $X_0        |
  +-----------------------+----------------------+-------------------------+
  | unfinalizable         | Determined from data | $X_1                    |
  +-----------------------+----------------------+-------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/unstaked_finalizable_balance

Access the balance of a contract that was requested for an unstake operation, and is no longer frozen, which means it will appear in the spendable balance of the contract after any stake/unstake/finalize_unstake operation. Returns None if the contract is originated.

  $alpha.mutez /* Some */ || null /* None */
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $N.t                   |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/unstaked_frozen_balance

Access the balance of a contract that was requested for an unstake operation, but is still frozen for the duration of the slashing period. Returns None if the contract is originated.

  $alpha.mutez /* Some */ || null /* None */
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $N.t                   |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/delegates?[active]&[inactive]&[with_minimal_stake]&[without_minimal_stake]

Lists all registered delegates by default. The arguments `active`, `inactive`, `with_minimal_stake`, and `without_minimal_stake` allow to enumerate only the delegates that are active, inactive, have at least a minimal stake to participate in consensus and in governance, or do not have such a minimal stake, respectively. Note, setting these arguments to false has no effect.

Optional query arguments :

  • active
  • inactive
  • with_minimal_stake
  • without_minimal_stake

  [ $Signature.Public_key_hash ... ]
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+

  

GET ../<block_id>/context/delegates/<pkh>

Everything about a delegate.

  { "full_balance": $alpha.mutez,
    "current_frozen_deposits": $alpha.mutez,
    "frozen_deposits": $alpha.mutez,
    "staking_balance": $alpha.mutez,
    "frozen_deposits_limit"?: $alpha.mutez,
    "delegated_contracts": [ $alpha.contract_id ... ],
    "delegated_balance": $alpha.mutez,
    "min_delegated_in_current_cycle":
      { "amount": $alpha.mutez,
        "level"?:
          { "level":
              integer ∈ [0, 2^31]
              /* The level of the block relative to genesis. This is also the
                 Shell's notion of level. */,
            "level_position":
              integer ∈ [-2^31-1, 2^31]
              /* The level of the block relative to the successor of the
                 genesis block. More precisely, it is the position of the
                 block relative to the block that starts the "Alpha family"
                 of protocols, which includes all protocols except Genesis
                 (that is, from 001 onwards). */,
            "cycle":
              integer ∈ [-2^31-1, 2^31]
              /* The current cycle's number. Note that cycles are a
                 protocol-specific notion. As a result, the cycle number
                 starts at 0 with the first block of the Alpha family of
                 protocols. */,
            "cycle_position":
              integer ∈ [-2^31-1, 2^31]
              /* The current level of the block relative to the first block
                 of the current cycle. */,
            "expected_commitment":
              boolean
              /* Tells whether the baker of this block has to commit a seed
                 nonce hash. */ } },
    "deactivated": boolean,
    "grace_period": integer ∈ [-2^31-1, 2^31],
    "pending_denunciations": boolean,
    "total_delegated_stake": $alpha.mutez,
    "staking_denominator": $alpha.mutez,
    "voting_power"?: $int64,
    "current_ballot"?: "nay" | "yay" | "pass",
    "current_proposals"?: [ $Protocol_hash ... ],
    "remaining_proposals"?: integer ∈ [-2^30, 2^30],
    "active_consensus_key": $Signature.Public_key_hash,
    "pending_consensus_keys"?:
      [ { "cycle": integer ∈ [-2^31-1, 2^31],
          "pkh": $Signature.Public_key_hash } ... ] }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.mutez: $positive_bignum
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | Name                                        | Size                 | Contents                                                     |
  +=============================================+======================+==============================================================+
  | full_balance                                | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | current_frozen_deposits                     | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | frozen_deposits                             | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | staking_balance                             | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "frozen_deposits_limit" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | frozen_deposits_limit                       | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field                       | 4 bytes              | unsigned 30-bit integer                                      |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | delegated_contracts                         | Variable             | sequence of $alpha.contract_id                               |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | delegated_balance                           | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | min_delegated_in_current_cycle              | Determined from data | $X_0                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | deactivated                                 | 1 byte               | boolean (0 for false, 255 for true)                          |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | grace_period                                | 4 bytes              | signed 32-bit integer                                        |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | pending_denunciations                       | 1 byte               | boolean (0 for false, 255 for true)                          |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | total_delegated_stake                       | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | staking_denominator                         | Determined from data | $N.t                                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "voting_power"          | 1 byte               | boolean (0 for false, 255 for true)                          |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | voting_power                                | 8 bytes              | signed 64-bit integer                                        |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "current_ballot"        | 1 byte               | boolean (0 for false, 255 for true)                          |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | current_ballot                              | 1 byte               | signed 8-bit integer                                         |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field                       | 4 bytes              | unsigned 30-bit integer                                      |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | current_proposals                           | Variable             | sequence of bytes                                            |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | remaining_proposals                         | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | active_consensus_key                        | 21 bytes             | $public_key_hash                                             |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field                       | 4 bytes              | unsigned 30-bit integer                                      |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+
  | pending_consensus_keys                      | Variable             | sequence of $X_2                                             |
  +---------------------------------------------+----------------------+--------------------------------------------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_1
  ***

  +---------------------+---------+-------------------------------------+
  | Name                | Size    | Contents                            |
  +=====================+=========+=====================================+
  | level               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | level_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
  +---------------------+---------+-------------------------------------+


  X_0
  ***

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | amount                      | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "level" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | level                       | 17 bytes             | $X_1                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_2
  ***

  +-------+----------+-----------------------+
  | Name  | Size     | Contents              |
  +=======+==========+=======================+
  | cycle | 4 bytes  | signed 32-bit integer |
  +-------+----------+-----------------------+
  | pkh   | 21 bytes | $public_key_hash      |
  +-------+----------+-----------------------+

  

GET ../<block_id>/context/delegates/<pkh>/active_staking_parameters

Returns the currently active staking parameters for the given delegate.

  { "limit_of_staking_over_baking_millionth": integer ∈ [-2^31-1, 2^31],
    "edge_of_baking_over_staking_billionth": integer ∈ [-2^31-1, 2^31] }
  +----------------------------------------+---------+-----------------------+
  | Name                                   | Size    | Contents              |
  +========================================+=========+=======================+
  | limit_of_staking_over_baking_millionth | 4 bytes | signed 32-bit integer |
  +----------------------------------------+---------+-----------------------+
  | edge_of_baking_over_staking_billionth  | 4 bytes | signed 32-bit integer |
  +----------------------------------------+---------+-----------------------+


  

GET ../<block_id>/context/delegates/<pkh>/consensus_key

The active consensus key for a given delegate and the pending consensus keys.

  { "active":
      { "pkh": $Signature.Public_key_hash,
        "pk": $Signature.Public_key },
    "pendings"?:
      [ { "cycle": integer ∈ [-2^31-1, 2^31],
          "pkh": $Signature.Public_key_hash,
          "pk": $Signature.Public_key } ... ] }
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | active                | Determined from data | $X_0                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pendings              | Variable             | sequence of $X_1        |
  +-----------------------+----------------------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  X_0
  ***

  +------+----------------------+------------------+
  | Name | Size                 | Contents         |
  +======+======================+==================+
  | pkh  | 21 bytes             | $public_key_hash |
  +------+----------------------+------------------+
  | pk   | Determined from data | $public_key      |
  +------+----------------------+------------------+


  X_1
  ***

  +-------+----------------------+-----------------------+
  | Name  | Size                 | Contents              |
  +=======+======================+=======================+
  | cycle | 4 bytes              | signed 32-bit integer |
  +-------+----------------------+-----------------------+
  | pkh   | 21 bytes             | $public_key_hash      |
  +-------+----------------------+-----------------------+
  | pk    | Determined from data | $public_key           |
  +-------+----------------------+-----------------------+

  

GET ../<block_id>/context/delegates/<pkh>/current_baking_power

The baking power of a delegate, as computed from its current stake. This value is not used for computing baking rights but only reflects the baking power that the delegate would have if the cycle ended at the current block.

  string
  /* 64 bit integers
     Decimal representation of 64 bit integers */
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/context/delegates/<pkh>/current_frozen_deposits

Returns the current amount of the frozen deposits (in mutez). That is the frozen deposits at beginning of cycle plus rewards minus unstaked and slashing. It doesn't count unstaked frozen deposits.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/current_voting_power

The voting power of a given delegate, as computed from its current stake.

  string
  /* 64 bit integers
     Decimal representation of 64 bit integers */
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/context/delegates/<pkh>/deactivated

Tells whether the delegate is currently tagged as deactivated or not.

  boolean
  +-----------------+--------+-------------------------------------+
  | Name            | Size   | Contents                            |
  +=================+========+=====================================+
  | Unnamed field 0 | 1 byte | boolean (0 for false, 255 for true) |
  +-----------------+--------+-------------------------------------+


  

GET ../<block_id>/context/delegates/<pkh>/delegated_balance

Returns the sum (in mutez) of all balances of all the contracts that delegate to a given delegate. This excludes the delegate's own balance, its frozen deposits and its frozen bonds.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/delegated_contracts

Returns the list of contracts that delegate to a given delegate.

  [ $alpha.contract_id ... ]
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+--------------------------------+
  | Name                  | Size     | Contents                       |
  +=======================+==========+================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer        |
  +-----------------------+----------+--------------------------------+
  | Unnamed field 0       | Variable | sequence of $alpha.contract_id |
  +-----------------------+----------+--------------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+

  

GET ../<block_id>/context/delegates/<pkh>/denunciations

Returns the pending denunciations for the given delegate.

  [ { "operation_hash": $Operation_hash,
      "rewarded": $Signature.Public_key_hash,
      "misbehaviour":
        { "level": integer ∈ [0, 2^31],
          "round": integer ∈ [-2^31-1, 2^31],
          "kind": "attestation" | "block" | "preattestation" } } ... ]
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_2 (Enumeration: unsigned 8-bit integer):
  ******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | preattestation |
  +-------------+----------------+
  | 1           | attestation    |
  +-------------+----------------+
  | 2           | block          |
  +-------------+----------------+


  X_1
  ***

  +-------+---------+----------------------------------------------------------+
  | Name  | Size    | Contents                                                 |
  +=======+=========+==========================================================+
  | level | 4 bytes | signed 32-bit integer                                    |
  +-------+---------+----------------------------------------------------------+
  | round | 4 bytes | signed 32-bit integer                                    |
  +-------+---------+----------------------------------------------------------+
  | kind  | 1 byte  | unsigned 8-bit integer encoding an enumeration (see X_2) |
  +-------+---------+----------------------------------------------------------+


  X_0
  ***

  +----------------+----------+------------------+
  | Name           | Size     | Contents         |
  +================+==========+==================+
  | operation_hash | 32 bytes | bytes            |
  +----------------+----------+------------------+
  | rewarded       | 21 bytes | $public_key_hash |
  +----------------+----------+------------------+
  | misbehaviour   | 9 bytes  | $X_1             |
  +----------------+----------+------------------+

  

GET ../<block_id>/context/delegates/<pkh>/estimated_shared_pending_slashed_amount

Returns the estimated shared pending slashed amount (in mutez) of a given delegate.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/frozen_deposits

Returns the amount (in mutez) frozen as a deposit at the time the staking rights for the current cycle where computed.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/frozen_deposits_limit

Returns the frozen deposits limit for the given delegate or none if no limit is set.

  $alpha.mutez /* Some */ || null /* None */
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $N.t                   |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/delegates/<pkh>/full_balance

Returns the full balance (in mutez) of a given delegate, including the frozen deposits and the frozen bonds. It does not include its delegated balance.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/grace_period

Returns the cycle by the end of which the delegate might be deactivated if she fails to execute any delegate action. A deactivated delegate might be reactivated (without loosing any stake) by simply re-registering as a delegate. For deactivated delegates, this value contains the cycle at which they were deactivated.

  integer ∈ [-2^31-1, 2^31]
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/context/delegates/<pkh>/min_delegated_in_current_cycle

Returns the minimum of delegated tez (in mutez) over the current cycle and the block level where this value was last updated (* Level is `None` when decoding values from protocol O).

  { "amount": $alpha.mutez,
    "level"?:
      { "level":
          integer ∈ [0, 2^31]
          /* The level of the block relative to genesis. This is also the
             Shell's notion of level. */,
        "level_position":
          integer ∈ [-2^31-1, 2^31]
          /* The level of the block relative to the successor of the genesis
             block. More precisely, it is the position of the block relative
             to the block that starts the "Alpha family" of protocols, which
             includes all protocols except Genesis (that is, from 001
             onwards). */,
        "cycle":
          integer ∈ [-2^31-1, 2^31]
          /* The current cycle's number. Note that cycles are a
             protocol-specific notion. As a result, the cycle number starts
             at 0 with the first block of the Alpha family of protocols. */,
        "cycle_position":
          integer ∈ [-2^31-1, 2^31]
          /* The current level of the block relative to the first block of
             the current cycle. */,
        "expected_commitment":
          boolean
          /* Tells whether the baker of this block has to commit a seed nonce
             hash. */ } }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | amount                      | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "level" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | level                       | 17 bytes             | $X_0                                |
  +-----------------------------+----------------------+-------------------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +---------------------+---------+-------------------------------------+
  | Name                | Size    | Contents                            |
  +=====================+=========+=====================================+
  | level               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | level_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle               | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | cycle_position      | 4 bytes | signed 32-bit integer               |
  +---------------------+---------+-------------------------------------+
  | expected_commitment | 1 byte  | boolean (0 for false, 255 for true) |
  +---------------------+---------+-------------------------------------+

  

GET ../<block_id>/context/delegates/<pkh>/participation

Returns cycle and level participation information. In particular this indicates, in the field 'expected_cycle_activity', the number of slots the delegate is expected to have in the cycle based on its active stake. The field 'minimal_cycle_activity' indicates the minimal attesting slots in the cycle required to get attesting rewards. It is computed based on 'expected_cycle_activity. The fields 'missed_slots' and 'missed_levels' indicate the number of missed attesting slots and missed levels (for attesting) in the cycle so far. 'missed_slots' indicates the number of missed attesting slots in the cycle so far. The field 'remaining_allowed_missed_slots' indicates the remaining amount of attesting slots that can be missed in the cycle before forfeiting the rewards. Finally, 'expected_attesting_rewards' indicates the attesting rewards that will be distributed at the end of the cycle if activity at that point will be greater than the minimal required; if the activity is already known to be below the required minimum, then the rewards are zero.

  { "expected_cycle_activity": integer ∈ [-2^30, 2^30],
    "minimal_cycle_activity": integer ∈ [-2^30, 2^30],
    "missed_slots": integer ∈ [-2^30, 2^30],
    "missed_levels": integer ∈ [-2^30, 2^30],
    "remaining_allowed_missed_slots": integer ∈ [-2^30, 2^30],
    "expected_attesting_rewards": $alpha.mutez }
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | expected_cycle_activity        | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | minimal_cycle_activity         | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | missed_slots                   | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | missed_levels                  | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | remaining_allowed_missed_slots | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | expected_attesting_rewards     | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/pending_staking_parameters

Returns the pending values for the given delegate's staking parameters.

  [ { "cycle": integer ∈ [-2^31-1, 2^31],
      "parameters":
        { "limit_of_staking_over_baking_millionth":
            integer ∈ [-2^31-1, 2^31],
          "edge_of_baking_over_staking_billionth":
            integer ∈ [-2^31-1, 2^31] } } ... ]
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  X_1
  ***

  +----------------------------------------+---------+-----------------------+
  | Name                                   | Size    | Contents              |
  +========================================+=========+=======================+
  | limit_of_staking_over_baking_millionth | 4 bytes | signed 32-bit integer |
  +----------------------------------------+---------+-----------------------+
  | edge_of_baking_over_staking_billionth  | 4 bytes | signed 32-bit integer |
  +----------------------------------------+---------+-----------------------+


  X_0
  ***

  +------------+---------+-----------------------+
  | Name       | Size    | Contents              |
  +============+=========+=======================+
  | cycle      | 4 bytes | signed 32-bit integer |
  +------------+---------+-----------------------+
  | parameters | 8 bytes | $X_1                  |
  +------------+---------+-----------------------+

  

GET ../<block_id>/context/delegates/<pkh>/staking_balance

Returns the total amount of tokens (in mutez) delegated to a given delegate. This includes the balances of all the contracts that delegate to it, but also the balance of the delegate itself, its frozen deposits, and its frozen bonds.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/staking_denominator

Returns an abstract representation of the total delegated stake.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/total_delegated_stake

Returns the sum (in mutez) of all tokens staked by the delegators of a given delegate. This excludes the delegate's own staked tokens.

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/delegates/<pkh>/unstaked_frozen_deposits

Returns, for each cycle, the sum of unstaked-but-frozen deposits for this cycle. Cycles go from the last unslashable cycle to the current cycle.

  [ { "cycle": integer ∈ [-2^31-1, 2^31],
      "deposit": $alpha.mutez } ... ]
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +---------+----------------------+-----------------------+
  | Name    | Size                 | Contents              |
  +=========+======================+=======================+
  | cycle   | 4 bytes              | signed 32-bit integer |
  +---------+----------------------+-----------------------+
  | deposit | Determined from data | $N.t                  |
  +---------+----------------------+-----------------------+

  

GET ../<block_id>/context/delegates/<pkh>/voting_info

Returns the delegate info (e.g. voting power) found in the listings of the current voting period.

  { "voting_power"?: $int64,
    "current_ballot"?: "nay" | "yay" | "pass",
    "current_proposals"?: [ $Protocol_hash ... ],
    "remaining_proposals"?: integer ∈ [-2^30, 2^30] }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +--------------------------------------+----------+--------------------------------------------------------------+
  | Name                                 | Size     | Contents                                                     |
  +======================================+==========+==============================================================+
  | ? presence of field "voting_power"   | 1 byte   | boolean (0 for false, 255 for true)                          |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | voting_power                         | 8 bytes  | signed 64-bit integer                                        |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | ? presence of field "current_ballot" | 1 byte   | boolean (0 for false, 255 for true)                          |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | current_ballot                       | 1 byte   | signed 8-bit integer                                         |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | # bytes in next field                | 4 bytes  | unsigned 30-bit integer                                      |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | current_proposals                    | Variable | sequence of bytes                                            |
  +--------------------------------------+----------+--------------------------------------------------------------+
  | remaining_proposals                  | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +--------------------------------------+----------+--------------------------------------------------------------+


  

GET ../<block_id>/context/delegates/<pkh>/voting_power

The voting power in the vote listings for a given delegate.

  string
  /* 64 bit integers
     Decimal representation of 64 bit integers */
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/context/denunciations

Returns the denunciations for misbehavior in the current cycle.

  [ { "slashed_delegate": $Signature.Public_key_hash,
      "operation_hash": $Operation_hash,
      "rewarded": $Signature.Public_key_hash,
      "misbehaviour":
        { "level": integer ∈ [0, 2^31],
          "round": integer ∈ [-2^31-1, 2^31],
          "kind": "attestation" | "block" | "preattestation" } } ... ]
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_2 (Enumeration: unsigned 8-bit integer):
  ******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | preattestation |
  +-------------+----------------+
  | 1           | attestation    |
  +-------------+----------------+
  | 2           | block          |
  +-------------+----------------+


  X_1
  ***

  +-------+---------+----------------------------------------------------------+
  | Name  | Size    | Contents                                                 |
  +=======+=========+==========================================================+
  | level | 4 bytes | signed 32-bit integer                                    |
  +-------+---------+----------------------------------------------------------+
  | round | 4 bytes | signed 32-bit integer                                    |
  +-------+---------+----------------------------------------------------------+
  | kind  | 1 byte  | unsigned 8-bit integer encoding an enumeration (see X_2) |
  +-------+---------+----------------------------------------------------------+


  X_0
  ***

  +------------------+----------+------------------+
  | Name             | Size     | Contents         |
  +==================+==========+==================+
  | slashed_delegate | 21 bytes | $public_key_hash |
  +------------------+----------+------------------+
  | operation_hash   | 32 bytes | bytes            |
  +------------------+----------+------------------+
  | rewarded         | 21 bytes | $public_key_hash |
  +------------------+----------+------------------+
  | misbehaviour     | 9 bytes  | $X_1             |
  +------------------+----------+------------------+

  

GET ../<block_id>/context/issuance/current_yearly_rate

Returns the current expected maximum yearly issuance rate (in %)

  /* Universal string representation
     Either a plain UTF8 string, or a sequence of bytes for strings that
     contain invalid byte sequences. */
  string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/context/issuance/current_yearly_rate_details

Returns the static and dynamic parts of the current expected maximum yearly issuance rate.

  { "static":
      { "numerator": $positive_bignum,
        "denominator": $positive_bignum },
    "dynamic":
      { "numerator": $positive_bignum,
        "denominator": $positive_bignum } }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +---------+----------------------+----------+
  | Name    | Size                 | Contents |
  +=========+======================+==========+
  | static  | Determined from data | $X_0     |
  +---------+----------------------+----------+
  | dynamic | Determined from data | $X_0     |
  +---------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +-------------+----------------------+----------+
  | Name        | Size                 | Contents |
  +=============+======================+==========+
  | numerator   | Determined from data | $N.t     |
  +-------------+----------------------+----------+
  | denominator | Determined from data | $N.t     |
  +-------------+----------------------+----------+

  

GET ../<block_id>/context/issuance/current_yearly_rate_exact

Returns the current expected maximum yearly issuance rate (exact quotient)

  { "numerator": $positive_bignum,
    "denominator": $positive_bignum }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-------------+----------------------+----------+
  | Name        | Size                 | Contents |
  +=============+======================+==========+
  | numerator   | Determined from data | $N.t     |
  +-------------+----------------------+----------+
  | denominator | Determined from data | $N.t     |
  +-------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/issuance/expected_issuance

Returns the expected issued tez for the provided block and the next 'consensus_rights_delay' cycles

  [ { "cycle": integer ∈ [-2^31-1, 2^31],
      "baking_reward_fixed_portion": $alpha.mutez,
      "baking_reward_bonus_per_slot": $alpha.mutez,
      "attesting_reward_per_slot": $alpha.mutez,
      "seed_nonce_revelation_tip": $alpha.mutez,
      "vdf_revelation_tip": $alpha.mutez } ... ]
  $alpha.mutez: $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_0
  ***

  +------------------------------+----------------------+-----------------------+
  | Name                         | Size                 | Contents              |
  +==============================+======================+=======================+
  | cycle                        | 4 bytes              | signed 32-bit integer |
  +------------------------------+----------------------+-----------------------+
  | baking_reward_fixed_portion  | Determined from data | $N.t                  |
  +------------------------------+----------------------+-----------------------+
  | baking_reward_bonus_per_slot | Determined from data | $N.t                  |
  +------------------------------+----------------------+-----------------------+
  | attesting_reward_per_slot    | Determined from data | $N.t                  |
  +------------------------------+----------------------+-----------------------+
  | seed_nonce_revelation_tip    | Determined from data | $N.t                  |
  +------------------------------+----------------------+-----------------------+
  | vdf_revelation_tip           | Determined from data | $N.t                  |
  +------------------------------+----------------------+-----------------------+

  

GET ../<block_id>/context/issuance/issuance_per_minute

Returns the current expected maximum issuance per minute (in mutez)

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/liquidity_baking/cpmm_address

Liquidity baking CPMM address

  $unistring
  /* A contract handle -- originated account
     A contract notation as given to an RPC or inside scripts. Can be a
     base58 originated contract hash. */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------+----------+
  | Name            | Size     | Contents |
  +=================+==========+==========+
  | Unnamed field 0 | 22 bytes | $X_0     |
  +-----------------+----------+----------+


  X_0 (22 bytes, 8-bit tag)
  *************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+

  

GET ../<block_id>/context/merkle_tree(/<context_path>)*?[holey=<bool>]

Returns the merkle tree of a piece of context.

Optional query arguments :

  • holey = <bool> : Send only hashes, omit data of key

  $merkle_tree /* Some */ || null /* None */
  $merkle_tree:
    [ [ $unistring,
        [ boolean, $unistring ]
        /* Hash */
        || $raw_context
        /* Data */
        || $merkle_tree
        /* Continue */ ] ... ]
  $raw_context:
    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
    /* Key */
    || { /* Dir */
         *: $raw_context }
    || null
    /* Cut */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_8     |
  +-----------------+----------------------+----------+


  X_2
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_3
  ***

  +-----------------+----------------------+--------------+
  | Name            | Size                 | Contents     |
  +=================+======================+==============+
  | Unnamed field 0 | Determined from data | $X_2         |
  +-----------------+----------------------+--------------+
  | Unnamed field 1 | Determined from data | $raw_context |
  +-----------------+----------------------+--------------+


  raw_context (Determined from data, 8-bit tag)
  *********************************************

  Key (tag 0)
  ===========

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Dir (tag 1)
  ===========

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Cut (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_7 (Determined from data, 8-bit tag)
  *************************************

  Hash (tag 0)
  ============

  +-----------------+----------------------+-------------------------------------+
  | Name            | Size                 | Contents                            |
  +=================+======================+=====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer              |
  +-----------------+----------------------+-------------------------------------+
  | Unnamed field 0 | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------+----------------------+-------------------------------------+
  | Unnamed field 1 | Determined from data | $X_2                                |
  +-----------------+----------------------+-------------------------------------+


  Data (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $raw_context           |
  +-----------------+----------------------+------------------------+


  Continue (tag 2)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $merkle_tree           |
  +-----------------+----------------------+------------------------+


  X_1
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_7     |
  +-----------------+----------------------+----------+


  merkle_tree
  ***********

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_1        |
  +-----------------------+----------+-------------------------+


  X_8 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $merkle_tree           |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/merkle_tree_v2(/<context_path>)*?[holey=<bool>]

Returns the Irmin merkle tree of a piece of context.

Optional query arguments :

  • holey = <bool> : Send only hashes, omit data of key

  { /* Some */
    "version": integer ∈ [-2^15, 2^15-1],
    "before":
      { /* Value */
        "value": $Context_hash }
      || { /* Node */
           "node": $Context_hash },
    "after":
      { /* Value */
        "value": $Context_hash }
      || { /* Node */
           "node": $Context_hash },
    "state": $tree_encoding }
  || null
  /* None */
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $inode_tree:
    { /* Inode_tree */
      "inode_tree":
        { "length": $int64,
          "proofs":
            { /* sparse_proof */
              "sparse_proof": [ [ integer ∈ [0, 255], $inode_tree ] ... ] }
            || { /* dense_proof */
                 "dense_proof": [ $inode_tree ... ] } } }
    || { /* other_inode_trees */
         "other_inode_trees":
           { /* Inode_values */
             "inode_values":
               [ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, $tree_encoding ] ... ] }
           || { /* other_inode_trees */
                "other_inode_trees":
                  { /* Blinded_inode */
                    "blinded_inode": $Context_hash }
                  || { /* Inode_extender */
                       "inode_extender":
                         { "length": $int64,
                           "segment": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                           "proof": $inode_tree } }
                  || { /* None */
                       "none": any } } }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $tree_encoding:
    { /* Inode */
      "inode":
        { "length": $int64,
          "proofs":
            { /* sparse_proof */
              "sparse_proof": [ [ integer ∈ [0, 255], $inode_tree ] ... ] }
            || { /* dense_proof */
                 "dense_proof": [ $inode_tree ... ] } } }
    || { /* other_trees */
         "other_trees":
           { /* Node */
             "node":
               [ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, $tree_encoding ] ... ] }
           || { /* other_trees */
                "other_trees":
                  { /* Value */
                    "value":
                      /^([a-zA-Z0-9][a-zA-Z0-9])*$/
                      /* short_bytes */
                      || /^([a-zA-Z0-9][a-zA-Z0-9])*$/
                      /* medium_bytes */
                      || any
                      /* long_bytes
                         This case is void. No data is accepted. */
                      || /^([a-zA-Z0-9][a-zA-Z0-9])*$/
                      /* unlimited_bytes */ }
                  || { /* Blinded_value */
                       "blinded_value": $Context_hash }
                  || { /* Blinded_node */
                       "blinded_node": $Context_hash }
                  || { /* Extender */
                       "extender":
                         { "length": $int64,
                           "segment": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                           "proof": $inode_tree } }
                  || { /* None */
                       "none": any } } }
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_53821 |
  +-----------------+----------------------+----------+


  X_0
  ***

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_6
  ***

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_5
  ***

  +-----------------+----------------------+----------------+
  | Name            | Size                 | Contents       |
  +=================+======================+================+
  | Unnamed field 0 | Determined from data | $X_6           |
  +-----------------+----------------------+----------------+
  | Unnamed field 1 | Determined from data | $tree_encoding |
  +-----------------+----------------------+----------------+


  X_132
  *****

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  X_131
  *****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_132      |
  +-----------------------+----------+-------------------------+


  inode_tree (Determined from data, 8-bit tag)
  ********************************************

  case 0 (tag 0)
  ==============

  +-----------------+--------+------------------------+
  | Name            | Size   | Contents               |
  +=================+========+========================+
  | Tag             | 1 byte | unsigned 8-bit integer |
  +-----------------+--------+------------------------+
  | Unnamed field 0 | 1 byte | unsigned 8-bit integer |
  +-----------------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +-----------------+---------+-------------------------+
  | Name            | Size    | Contents                |
  +=================+=========+=========================+
  | Tag             | 1 byte  | unsigned 8-bit integer  |
  +-----------------+---------+-------------------------+
  | Unnamed field 0 | 2 bytes | unsigned 16-bit integer |
  +-----------------+---------+-------------------------+


  case 2 (tag 2)
  ==============

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | Tag             | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+


  case 3 (tag 3)
  ==============

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | Tag             | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer  |
  +-----------------+---------+------------------------+


  case 4 (tag 4)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 5 (tag 5)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 6 (tag 6)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 7 (tag 7)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 8 (tag 8)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 9 (tag 9)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 10 (tag 10)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 11 (tag 11)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 12 (tag 12)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 13 (tag 13)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 14 (tag 14)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 15 (tag 15)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 16 (tag 16)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 17 (tag 17)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 18 (tag 18)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 19 (tag 19)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 20 (tag 20)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 21 (tag 21)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 22 (tag 22)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 23 (tag 23)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 24 (tag 24)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 25 (tag 25)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 26 (tag 26)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 27 (tag 27)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 28 (tag 28)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 29 (tag 29)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 30 (tag 30)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 31 (tag 31)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 32 (tag 32)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 33 (tag 33)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 34 (tag 34)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 35 (tag 35)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 36 (tag 36)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 37 (tag 37)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 38 (tag 38)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 39 (tag 39)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 40 (tag 40)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 41 (tag 41)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 42 (tag 42)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 43 (tag 43)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 44 (tag 44)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 45 (tag 45)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 46 (tag 46)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 47 (tag 47)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 48 (tag 48)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 49 (tag 49)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 50 (tag 50)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 51 (tag 51)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 52 (tag 52)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 53 (tag 53)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 54 (tag 54)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 55 (tag 55)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 56 (tag 56)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 57 (tag 57)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 58 (tag 58)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 59 (tag 59)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 60 (tag 60)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 61 (tag 61)
  ================

  +-----------------+----------------------+-------------------------+
  | Name            | Size                 | Contents                |
  +=================+======================+=========================+
  | Tag             | 1 byte               | unsigned 8-bit integer  |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 1 | Determined from data | $X_131                  |
  +-----------------+----------------------+-------------------------+


  case 62 (tag 62)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 63 (tag 63)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 64 (tag 64)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 65 (tag 65)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer            |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 66 (tag 66)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer              |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 67 (tag 67)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer              |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 128 (tag 128)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 129 (tag 129)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 1 $X_5 |
  +-----------------+----------+----------------------------+


  case 130 (tag 130)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 2 $X_5 |
  +-----------------+----------+----------------------------+


  case 131 (tag 131)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 3 $X_5 |
  +-----------------+----------+----------------------------+


  case 132 (tag 132)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 4 $X_5 |
  +-----------------+----------+----------------------------+


  case 133 (tag 133)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 5 $X_5 |
  +-----------------+----------+----------------------------+


  case 134 (tag 134)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 6 $X_5 |
  +-----------------+----------+----------------------------+


  case 135 (tag 135)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 7 $X_5 |
  +-----------------+----------+----------------------------+


  case 136 (tag 136)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 8 $X_5 |
  +-----------------+----------+----------------------------+


  case 137 (tag 137)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 9 $X_5 |
  +-----------------+----------+----------------------------+


  case 138 (tag 138)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 10 $X_5 |
  +-----------------+----------+-----------------------------+


  case 139 (tag 139)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 11 $X_5 |
  +-----------------+----------+-----------------------------+


  case 140 (tag 140)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 12 $X_5 |
  +-----------------+----------+-----------------------------+


  case 141 (tag 141)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 13 $X_5 |
  +-----------------+----------+-----------------------------+


  case 142 (tag 142)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 14 $X_5 |
  +-----------------+----------+-----------------------------+


  case 143 (tag 143)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 15 $X_5 |
  +-----------------+----------+-----------------------------+


  case 144 (tag 144)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 16 $X_5 |
  +-----------------+----------+-----------------------------+


  case 145 (tag 145)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 17 $X_5 |
  +-----------------+----------+-----------------------------+


  case 146 (tag 146)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 18 $X_5 |
  +-----------------+----------+-----------------------------+


  case 147 (tag 147)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 19 $X_5 |
  +-----------------+----------+-----------------------------+


  case 148 (tag 148)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 20 $X_5 |
  +-----------------+----------+-----------------------------+


  case 149 (tag 149)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 21 $X_5 |
  +-----------------+----------+-----------------------------+


  case 150 (tag 150)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 22 $X_5 |
  +-----------------+----------+-----------------------------+


  case 151 (tag 151)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 23 $X_5 |
  +-----------------+----------+-----------------------------+


  case 152 (tag 152)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 24 $X_5 |
  +-----------------+----------+-----------------------------+


  case 153 (tag 153)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 25 $X_5 |
  +-----------------+----------+-----------------------------+


  case 154 (tag 154)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 26 $X_5 |
  +-----------------+----------+-----------------------------+


  case 155 (tag 155)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 27 $X_5 |
  +-----------------+----------+-----------------------------+


  case 156 (tag 156)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 28 $X_5 |
  +-----------------+----------+-----------------------------+


  case 157 (tag 157)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 29 $X_5 |
  +-----------------+----------+-----------------------------+


  case 158 (tag 158)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 30 $X_5 |
  +-----------------+----------+-----------------------------+


  case 159 (tag 159)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 31 $X_5 |
  +-----------------+----------+-----------------------------+


  case 160 (tag 160)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 32 $X_5 |
  +-----------------+----------+-----------------------------+


  case 161 (tag 161)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 33 $X_5 |
  +-----------------+----------+-----------------------------+


  case 162 (tag 162)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 34 $X_5 |
  +-----------------+----------+-----------------------------+


  case 163 (tag 163)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 35 $X_5 |
  +-----------------+----------+-----------------------------+


  case 164 (tag 164)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 36 $X_5 |
  +-----------------+----------+-----------------------------+


  case 165 (tag 165)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 37 $X_5 |
  +-----------------+----------+-----------------------------+


  case 166 (tag 166)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 38 $X_5 |
  +-----------------+----------+-----------------------------+


  case 167 (tag 167)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 39 $X_5 |
  +-----------------+----------+-----------------------------+


  case 168 (tag 168)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 40 $X_5 |
  +-----------------+----------+-----------------------------+


  case 169 (tag 169)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 41 $X_5 |
  +-----------------+----------+-----------------------------+


  case 170 (tag 170)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 42 $X_5 |
  +-----------------+----------+-----------------------------+


  case 171 (tag 171)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 43 $X_5 |
  +-----------------+----------+-----------------------------+


  case 172 (tag 172)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 44 $X_5 |
  +-----------------+----------+-----------------------------+


  case 173 (tag 173)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 45 $X_5 |
  +-----------------+----------+-----------------------------+


  case 174 (tag 174)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 46 $X_5 |
  +-----------------+----------+-----------------------------+


  case 175 (tag 175)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 47 $X_5 |
  +-----------------+----------+-----------------------------+


  case 176 (tag 176)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 48 $X_5 |
  +-----------------+----------+-----------------------------+


  case 177 (tag 177)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 49 $X_5 |
  +-----------------+----------+-----------------------------+


  case 178 (tag 178)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 50 $X_5 |
  +-----------------+----------+-----------------------------+


  case 179 (tag 179)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 51 $X_5 |
  +-----------------+----------+-----------------------------+


  case 180 (tag 180)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 52 $X_5 |
  +-----------------+----------+-----------------------------+


  case 181 (tag 181)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 53 $X_5 |
  +-----------------+----------+-----------------------------+


  case 182 (tag 182)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 54 $X_5 |
  +-----------------+----------+-----------------------------+


  case 183 (tag 183)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 55 $X_5 |
  +-----------------+----------+-----------------------------+


  case 184 (tag 184)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 56 $X_5 |
  +-----------------+----------+-----------------------------+


  case 185 (tag 185)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 57 $X_5 |
  +-----------------+----------+-----------------------------+


  case 186 (tag 186)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 58 $X_5 |
  +-----------------+----------+-----------------------------+


  case 187 (tag 187)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 59 $X_5 |
  +-----------------+----------+-----------------------------+


  case 188 (tag 188)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 60 $X_5 |
  +-----------------+----------+-----------------------------+


  case 189 (tag 189)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 61 $X_5 |
  +-----------------+----------+-----------------------------+


  case 190 (tag 190)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 62 $X_5 |
  +-----------------+----------+-----------------------------+


  case 191 (tag 191)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_5        |
  +-----------------------+----------+-------------------------+


  case 192 (tag 192)
  ==================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | Context_hash | 32 bytes | bytes                  |
  +--------------+----------+------------------------+


  case 208 (tag 208)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 209 (tag 209)
  ==================

  +-----------------+----------------------+-------------------------+
  | Name            | Size                 | Contents                |
  +=================+======================+=========================+
  | Tag             | 1 byte               | unsigned 8-bit integer  |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 1 | Determined from data | $X_0                    |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree             |
  +-----------------+----------------------+-------------------------+


  case 210 (tag 210)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 211 (tag 211)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 224 (tag 224)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  tree_encoding (Determined from data, 8-bit tag)
  ***********************************************

  case 0 (tag 0)
  ==============

  +-----------------+--------+------------------------+
  | Name            | Size   | Contents               |
  +=================+========+========================+
  | Tag             | 1 byte | unsigned 8-bit integer |
  +-----------------+--------+------------------------+
  | Unnamed field 0 | 1 byte | unsigned 8-bit integer |
  +-----------------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +-----------------+---------+-------------------------+
  | Name            | Size    | Contents                |
  +=================+=========+=========================+
  | Tag             | 1 byte  | unsigned 8-bit integer  |
  +-----------------+---------+-------------------------+
  | Unnamed field 0 | 2 bytes | unsigned 16-bit integer |
  +-----------------+---------+-------------------------+


  case 2 (tag 2)
  ==============

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | Tag             | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+


  case 3 (tag 3)
  ==============

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | Tag             | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer  |
  +-----------------+---------+------------------------+


  case 4 (tag 4)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 5 (tag 5)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 6 (tag 6)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 7 (tag 7)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 1 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 8 (tag 8)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 9 (tag 9)
  ==============

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 10 (tag 10)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 11 (tag 11)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 2 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 12 (tag 12)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 13 (tag 13)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 14 (tag 14)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 15 (tag 15)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 3 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 16 (tag 16)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 17 (tag 17)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 18 (tag 18)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 19 (tag 19)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 4 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 20 (tag 20)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 21 (tag 21)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 22 (tag 22)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 23 (tag 23)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 5 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 24 (tag 24)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 25 (tag 25)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 26 (tag 26)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 27 (tag 27)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 6 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 28 (tag 28)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 29 (tag 29)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 30 (tag 30)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 31 (tag 31)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 7 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 32 (tag 32)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 33 (tag 33)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 34 (tag 34)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 35 (tag 35)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 8 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 36 (tag 36)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 37 (tag 37)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer      |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 38 (tag 38)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 39 (tag 39)
  ================

  +-----------------+----------------------+------------------------------+
  | Name            | Size                 | Contents                     |
  +=================+======================+==============================+
  | Tag             | 1 byte               | unsigned 8-bit integer       |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer        |
  +-----------------+----------------------+------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 9 $X_132 |
  +-----------------+----------------------+------------------------------+


  case 40 (tag 40)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 41 (tag 41)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 42 (tag 42)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 43 (tag 43)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 10 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 44 (tag 44)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 45 (tag 45)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 46 (tag 46)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 47 (tag 47)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 11 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 48 (tag 48)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 49 (tag 49)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 50 (tag 50)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 51 (tag 51)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 12 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 52 (tag 52)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 53 (tag 53)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 54 (tag 54)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 55 (tag 55)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 13 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 56 (tag 56)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 57 (tag 57)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer       |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 58 (tag 58)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 59 (tag 59)
  ================

  +-----------------+----------------------+-------------------------------+
  | Name            | Size                 | Contents                      |
  +=================+======================+===============================+
  | Tag             | 1 byte               | unsigned 8-bit integer        |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer         |
  +-----------------+----------------------+-------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 14 $X_132 |
  +-----------------+----------------------+-------------------------------+


  case 60 (tag 60)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 61 (tag 61)
  ================

  +-----------------+----------------------+-------------------------+
  | Name            | Size                 | Contents                |
  +=================+======================+=========================+
  | Tag             | 1 byte               | unsigned 8-bit integer  |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 1 | Determined from data | $X_131                  |
  +-----------------+----------------------+-------------------------+


  case 62 (tag 62)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 63 (tag 63)
  ================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_131                 |
  +-----------------+----------------------+------------------------+


  case 64 (tag 64)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 65 (tag 65)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer            |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 66 (tag 66)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer              |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 67 (tag 67)
  ================

  +-----------------+----------------------+------------------------------------+
  | Name            | Size                 | Contents                           |
  +=================+======================+====================================+
  | Tag             | 1 byte               | unsigned 8-bit integer             |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer              |
  +-----------------+----------------------+------------------------------------+
  | Unnamed field 1 | Determined from data | sequence of exactly 32 $inode_tree |
  +-----------------+----------------------+------------------------------------+


  case 128 (tag 128)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 129 (tag 129)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 1 $X_5 |
  +-----------------+----------+----------------------------+


  case 130 (tag 130)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 2 $X_5 |
  +-----------------+----------+----------------------------+


  case 131 (tag 131)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 3 $X_5 |
  +-----------------+----------+----------------------------+


  case 132 (tag 132)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 4 $X_5 |
  +-----------------+----------+----------------------------+


  case 133 (tag 133)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 5 $X_5 |
  +-----------------+----------+----------------------------+


  case 134 (tag 134)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 6 $X_5 |
  +-----------------+----------+----------------------------+


  case 135 (tag 135)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 7 $X_5 |
  +-----------------+----------+----------------------------+


  case 136 (tag 136)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 8 $X_5 |
  +-----------------+----------+----------------------------+


  case 137 (tag 137)
  ==================

  +-----------------+----------+----------------------------+
  | Name            | Size     | Contents                   |
  +=================+==========+============================+
  | Tag             | 1 byte   | unsigned 8-bit integer     |
  +-----------------+----------+----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 9 $X_5 |
  +-----------------+----------+----------------------------+


  case 138 (tag 138)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 10 $X_5 |
  +-----------------+----------+-----------------------------+


  case 139 (tag 139)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 11 $X_5 |
  +-----------------+----------+-----------------------------+


  case 140 (tag 140)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 12 $X_5 |
  +-----------------+----------+-----------------------------+


  case 141 (tag 141)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 13 $X_5 |
  +-----------------+----------+-----------------------------+


  case 142 (tag 142)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 14 $X_5 |
  +-----------------+----------+-----------------------------+


  case 143 (tag 143)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 15 $X_5 |
  +-----------------+----------+-----------------------------+


  case 144 (tag 144)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 16 $X_5 |
  +-----------------+----------+-----------------------------+


  case 145 (tag 145)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 17 $X_5 |
  +-----------------+----------+-----------------------------+


  case 146 (tag 146)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 18 $X_5 |
  +-----------------+----------+-----------------------------+


  case 147 (tag 147)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 19 $X_5 |
  +-----------------+----------+-----------------------------+


  case 148 (tag 148)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 20 $X_5 |
  +-----------------+----------+-----------------------------+


  case 149 (tag 149)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 21 $X_5 |
  +-----------------+----------+-----------------------------+


  case 150 (tag 150)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 22 $X_5 |
  +-----------------+----------+-----------------------------+


  case 151 (tag 151)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 23 $X_5 |
  +-----------------+----------+-----------------------------+


  case 152 (tag 152)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 24 $X_5 |
  +-----------------+----------+-----------------------------+


  case 153 (tag 153)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 25 $X_5 |
  +-----------------+----------+-----------------------------+


  case 154 (tag 154)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 26 $X_5 |
  +-----------------+----------+-----------------------------+


  case 155 (tag 155)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 27 $X_5 |
  +-----------------+----------+-----------------------------+


  case 156 (tag 156)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 28 $X_5 |
  +-----------------+----------+-----------------------------+


  case 157 (tag 157)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 29 $X_5 |
  +-----------------+----------+-----------------------------+


  case 158 (tag 158)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 30 $X_5 |
  +-----------------+----------+-----------------------------+


  case 159 (tag 159)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 31 $X_5 |
  +-----------------+----------+-----------------------------+


  case 160 (tag 160)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 32 $X_5 |
  +-----------------+----------+-----------------------------+


  case 161 (tag 161)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 33 $X_5 |
  +-----------------+----------+-----------------------------+


  case 162 (tag 162)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 34 $X_5 |
  +-----------------+----------+-----------------------------+


  case 163 (tag 163)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 35 $X_5 |
  +-----------------+----------+-----------------------------+


  case 164 (tag 164)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 36 $X_5 |
  +-----------------+----------+-----------------------------+


  case 165 (tag 165)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 37 $X_5 |
  +-----------------+----------+-----------------------------+


  case 166 (tag 166)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 38 $X_5 |
  +-----------------+----------+-----------------------------+


  case 167 (tag 167)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 39 $X_5 |
  +-----------------+----------+-----------------------------+


  case 168 (tag 168)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 40 $X_5 |
  +-----------------+----------+-----------------------------+


  case 169 (tag 169)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 41 $X_5 |
  +-----------------+----------+-----------------------------+


  case 170 (tag 170)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 42 $X_5 |
  +-----------------+----------+-----------------------------+


  case 171 (tag 171)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 43 $X_5 |
  +-----------------+----------+-----------------------------+


  case 172 (tag 172)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 44 $X_5 |
  +-----------------+----------+-----------------------------+


  case 173 (tag 173)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 45 $X_5 |
  +-----------------+----------+-----------------------------+


  case 174 (tag 174)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 46 $X_5 |
  +-----------------+----------+-----------------------------+


  case 175 (tag 175)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 47 $X_5 |
  +-----------------+----------+-----------------------------+


  case 176 (tag 176)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 48 $X_5 |
  +-----------------+----------+-----------------------------+


  case 177 (tag 177)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 49 $X_5 |
  +-----------------+----------+-----------------------------+


  case 178 (tag 178)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 50 $X_5 |
  +-----------------+----------+-----------------------------+


  case 179 (tag 179)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 51 $X_5 |
  +-----------------+----------+-----------------------------+


  case 180 (tag 180)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 52 $X_5 |
  +-----------------+----------+-----------------------------+


  case 181 (tag 181)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 53 $X_5 |
  +-----------------+----------+-----------------------------+


  case 182 (tag 182)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 54 $X_5 |
  +-----------------+----------+-----------------------------+


  case 183 (tag 183)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 55 $X_5 |
  +-----------------+----------+-----------------------------+


  case 184 (tag 184)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 56 $X_5 |
  +-----------------+----------+-----------------------------+


  case 185 (tag 185)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 57 $X_5 |
  +-----------------+----------+-----------------------------+


  case 186 (tag 186)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 58 $X_5 |
  +-----------------+----------+-----------------------------+


  case 187 (tag 187)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 59 $X_5 |
  +-----------------+----------+-----------------------------+


  case 188 (tag 188)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 60 $X_5 |
  +-----------------+----------+-----------------------------+


  case 189 (tag 189)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 61 $X_5 |
  +-----------------+----------+-----------------------------+


  case 190 (tag 190)
  ==================

  +-----------------+----------+-----------------------------+
  | Name            | Size     | Contents                    |
  +=================+==========+=============================+
  | Tag             | 1 byte   | unsigned 8-bit integer      |
  +-----------------+----------+-----------------------------+
  | Unnamed field 0 | Variable | sequence of exactly 62 $X_5 |
  +-----------------+----------+-----------------------------+


  case 191 (tag 191)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_5        |
  +-----------------------+----------+-------------------------+


  case 192 (tag 192)
  ==================

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  case 193 (tag 193)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  case 195 (tag 195)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  case 200 (tag 200)
  ==================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | Context_hash | 32 bytes | bytes                  |
  +--------------+----------+------------------------+


  case 208 (tag 208)
  ==================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | Context_hash | 32 bytes | bytes                  |
  +--------------+----------+------------------------+


  case 216 (tag 216)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 217 (tag 217)
  ==================

  +-----------------+----------------------+-------------------------+
  | Name            | Size                 | Contents                |
  +=================+======================+=========================+
  | Tag             | 1 byte               | unsigned 8-bit integer  |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 0 | 2 bytes              | unsigned 16-bit integer |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 1 | Determined from data | $X_0                    |
  +-----------------+----------------------+-------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree             |
  +-----------------+----------------------+-------------------------+


  case 218 (tag 218)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 4 bytes              | signed 32-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 219 (tag 219)
  ==================

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 8 bytes              | signed 64-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | Determined from data | $X_0                   |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | Determined from data | $inode_tree            |
  +-----------------+----------------------+------------------------+


  case 224 (tag 224)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_53820 (Determined from data, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 2 bytes              | signed 16-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 3 | Determined from data | $tree_encoding         |
  +-----------------+----------------------+------------------------+


  case 1 (tag 1)
  ==============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 2 bytes              | signed 16-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 3 | Determined from data | $tree_encoding         |
  +-----------------+----------------------+------------------------+


  case 2 (tag 2)
  ==============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 2 bytes              | signed 16-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 3 | Determined from data | $tree_encoding         |
  +-----------------+----------------------+------------------------+


  case 3 (tag 3)
  ==============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | 2 bytes              | signed 16-bit integer  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 1 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 2 | 32 bytes             | bytes                  |
  +-----------------+----------------------+------------------------+
  | Unnamed field 3 | Determined from data | $tree_encoding         |
  +-----------------+----------------------+------------------------+


  X_53821 (Determined from data, 8-bit tag)
  *****************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_53820               |
  +-----------------+----------------------+------------------------+

  

GET ../<block_id>/context/nonces/<block_level>

Info about the nonce of a previous block.

  { /* Revealed */
    "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  || { /* Missing */
       "hash": $cycle_nonce }
  || { /* Forgotten */
        }
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  Revealed (tag 0)
  ================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Missing (tag 1)
  ===============

  +------+----------+------------------------+
  | Name | Size     | Contents               |
  +======+==========+========================+
  | Tag  | 1 byte   | unsigned 8-bit integer |
  +------+----------+------------------------+
  | hash | 32 bytes | bytes                  |
  +------+----------+------------------------+


  Forgotten (tag 2)
  =================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+

  

GET ../<block_id>/context/raw/bytes(/<context_path>)*?[depth=<uint>]

Returns the raw context.

Optional query arguments :

  • depth = <uint>

  $raw_context
  $raw_context:
    /^([a-zA-Z0-9][a-zA-Z0-9])*$/
    /* Key */
    || { /* Dir */
         *: $raw_context }
    || null
    /* Cut */
  +-----------------+----------------------+--------------+
  | Name            | Size                 | Contents     |
  +=================+======================+==============+
  | Unnamed field 0 | Determined from data | $raw_context |
  +-----------------+----------------------+--------------+


  X_1
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------+----------------------+--------------+
  | Name            | Size                 | Contents     |
  +=================+======================+==============+
  | Unnamed field 0 | Determined from data | $X_1         |
  +-----------------+----------------------+--------------+
  | Unnamed field 1 | Determined from data | $raw_context |
  +-----------------+----------------------+--------------+


  raw_context (Determined from data, 8-bit tag)
  *********************************************

  Key (tag 0)
  ===========

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Dir (tag 1)
  ===========

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  Cut (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+

  

GET ../<block_id>/context/sapling/<sapling_state_id>/get_diff?[offset_commitment=<uint63>]&[offset_nullifier=<uint63>]

Returns the root and a diff of a state starting from an optional offset which is zero by default.

Optional query arguments :

  • offset_commitment = <uint63> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <uint63> : Nullifiers are returned from the specified offset up to the most recent.

  { "root": $sapling.transaction.commitment_hash,
    "commitments_and_ciphertexts":
      [ [ $sapling.transaction.commitment, $sapling.transaction.ciphertext ] ... ],
    "nullifiers": [ $sapling.transaction.nullifier ... ] }
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_hash: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | root                        | 32 bytes | bytes                   |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_0        |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+

  

POST ../<block_id>/context/seed

Seed of the cycle to which the block belongs.

  {  }
  This value's binary representation is empty. It takes zero (0) bytes of output.
  
  /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  +-----------------+----------+----------+
  | Name            | Size     | Contents |
  +=================+==========+==========+
  | Unnamed field 0 | 32 bytes | bytes    |
  +-----------------+----------+----------+


  

GET ../<block_id>/context/seed_computation

Seed computation status

  { /* Nonce revelation stage */
    "nonce_revelation_stage": any }
  || { /* VDF revelation stage */
       "seed_discriminant": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
       "seed_challenge": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  || { /* Computation finished */
       "computation_finished": any }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  Nonce revelation stage (tag 0)
  ==============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  VDF revelation stage (tag 1)
  ============================

  +-------------------+----------+------------------------+
  | Name              | Size     | Contents               |
  +===================+==========+========================+
  | Tag               | 1 byte   | unsigned 8-bit integer |
  +-------------------+----------+------------------------+
  | seed_discriminant | 32 bytes | bytes                  |
  +-------------------+----------+------------------------+
  | seed_challenge    | 32 bytes | bytes                  |
  +-------------------+----------+------------------------+


  Computation finished (tag 2)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+

  

GET ../<block_id>/context/total_frozen_stake

Returns the total stake (in mutez) frozen on the chain

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/context/total_supply

Returns the total supply (in mutez) available on the chain

  $positive_bignum
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $N.t     |
  +-----------------+----------------------+----------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+

  

GET ../<block_id>/hash

The block's hash, its unique identifier.

  $unistring
  /* A block identifier (Base58Check-encoded) */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +------------+----------+----------+
  | Name       | Size     | Contents |
  +============+==========+==========+
  | block_hash | 32 bytes | bytes    |
  +------------+----------+----------+


  

GET ../<block_id>/header

The whole block header.

  { /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
    "chain_id": $Chain_id,
    "hash": $block_hash,
    "level": integer ∈ [-2^31-1, 2^31],
    "proto": integer ∈ [0, 255],
    "predecessor": $block_hash,
    "timestamp": $timestamp.protocol,
    "validation_pass": integer ∈ [0, 255],
    "operations_hash": $Operation_list_list_hash,
    "fitness": $fitness,
    "context": $Context_hash,
    "payload_hash": $value_hash,
    "payload_round": integer ∈ [-2^31-1, 2^31],
    "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
    "seed_nonce_hash"?: $cycle_nonce,
    "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
    "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
    "signature": $Signature.V1 }
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | chain_id                              | 4 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | hash                                  | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+

  

GET ../<block_id>/header/protocol_data

The version-specific fragment of the block header.

  { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
    "payload_hash": $value_hash,
    "payload_round": integer ∈ [-2^31-1, 2^31],
    "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
    "seed_nonce_hash"?: $cycle_nonce,
    "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
    "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
    "signature": $Signature.V1 }
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+

  

GET ../<block_id>/header/protocol_data/raw

The version-specific fragment of the block header (unparsed).

  /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/header/raw

The whole block header (unparsed).

  /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/header/shell

The shell-specific fragment of the block header.

  { /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    "level": integer ∈ [-2^31-1, 2^31],
    "proto": integer ∈ [0, 255],
    "predecessor": $block_hash,
    "timestamp": $timestamp.protocol,
    "validation_pass": integer ∈ [0, 255],
    "operations_hash": $Operation_list_list_hash,
    "fitness": $fitness,
    "context": $Context_hash }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +----------------------------+----------+---------------------------+
  | Name                       | Size     | Contents                  |
  +============================+==========+===========================+
  | level                      | 4 bytes  | signed 32-bit integer     |
  +----------------------------+----------+---------------------------+
  | proto                      | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | predecessor                | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | timestamp                  | 8 bytes  | signed 64-bit integer     |
  +----------------------------+----------+---------------------------+
  | validation_pass            | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | operations_hash            | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | # bytes in field "fitness" | 4 bytes  | unsigned 30-bit integer   |
  +----------------------------+----------+---------------------------+
  | fitness                    | Variable | sequence of $fitness.elem |
  +----------------------------+----------+---------------------------+
  | context                    | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/helpers/complete/<prefix>

Try to complete a prefix of a Base58Check-encoded data. This RPC is actually able to complete hashes of block, operations, public_keys and contracts.

  [ $unistring ... ]
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  

POST ../<block_id>/helpers/forge_block_header

Forge a block header

  { /* Block header
       Block header. It contains both shell and protocol specific data. */
    "level": integer ∈ [-2^31-1, 2^31],
    "proto": integer ∈ [0, 255],
    "predecessor": $block_hash,
    "timestamp": $timestamp.protocol,
    "validation_pass": integer ∈ [0, 255],
    "operations_hash": $Operation_list_list_hash,
    "fitness": $fitness,
    "context": $Context_hash,
    "protocol_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +----------------------------+----------+---------------------------+
  | Name                       | Size     | Contents                  |
  +============================+==========+===========================+
  | level                      | 4 bytes  | signed 32-bit integer     |
  +----------------------------+----------+---------------------------+
  | proto                      | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | predecessor                | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | timestamp                  | 8 bytes  | signed 64-bit integer     |
  +----------------------------+----------+---------------------------+
  | validation_pass            | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | operations_hash            | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | # bytes in field "fitness" | 4 bytes  | unsigned 30-bit integer   |
  +----------------------------+----------+---------------------------+
  | fitness                    | Variable | sequence of $fitness.elem |
  +----------------------------+----------+---------------------------+
  | context                    | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | protocol_data              | Variable | bytes                     |
  +----------------------------+----------+---------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+

  
  { "block": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | block                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  

POST ../<block_id>/helpers/preapply/block?[sort]&[timestamp=<date>]

Simulate the validation of a block that would contain the given operations and return the resulting fitness and context hash.

Optional query arguments :

  • sort
  • timestamp = <date>

  { "protocol_data":
      { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
        "payload_hash": $value_hash,
        "payload_round": integer ∈ [-2^31-1, 2^31],
        "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
        "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
        "signature": $Signature.V1 },
    "operations":
      [ [ $next_operation
          /* operation_data_encoding */
          || $next_operation_with_legacy_attestation_name
          /* operation_data_encoding_with_legacy_attestation_name */ ... ] ... ] }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $next_operation:
    /* An operation's shell header. */
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $next_operation_with_legacy_attestation_name:
    /* An operation's shell header. */
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | protocol_data         | Determined from data | $X_0                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | operations            | Variable             | sequence of $X_1        |
  +-----------------------+----------------------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_0
  ***

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | # bytes in next 7 fields              | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_4
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_5
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_3
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_4     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_5     |
  +-----------------+----------------------+----------+


  X_8
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_6
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_4     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_8     |
  +-----------------+----------------------+----------+


  X_9
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_2
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_6        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_9                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_12
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_11
  ****

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_12                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_15 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_10
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_11    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_15    |
  +-----------------+----------------------+----------+


  X_18 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_16
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_4     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_18    |
  +-----------------+----------------------+----------+


  X_19
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_20
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_21
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_22 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_21                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_23 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_22                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_24
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_25 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_24       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_23                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_26 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_25                  |
  +--------+----------------------+------------------------+


  X_27
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_29 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_30
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_31
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_32
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_32                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_31                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_29) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_30                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_4        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_27                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_26                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_20                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_19                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_16                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_10       |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_2                   |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_33 (Determined from data, 8-bit tag)
  **************************************

  operation_data_encoding (tag 0)
  ===============================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | # bytes in next field         | 4 bytes  | unsigned 30-bit integer                                         |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | branch                        | 32 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | # bytes in next 2 fields      | 4 bytes  | unsigned 30-bit integer                                         |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  X_1
  ***

  +--------------------------+----------+-------------------------+
  | Name                     | Size     | Contents                |
  +==========================+==========+=========================+
  | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | # bytes in next field    | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | Unnamed field 0          | Variable | sequence of $X_33       |
  +--------------------------+----------+-------------------------+

  
  { "shell_header": $block_header.shell,
    "operations":
      [ { "applied":
            [ { /* An operation. The shell_header part indicates a block an
                   operation is meant to apply on top of. The proto part is
                   protocol-specific and appears as a binary blob. */
                "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ... ],
          "refused":
            [ { /* An operation. The shell_header part indicates a block an
                   operation is meant to apply on top of. The proto part is
                   protocol-specific and appears as a binary blob. */
                "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                "error": $error } ... ],
          "outdated":
            [ { /* An operation. The shell_header part indicates a block an
                   operation is meant to apply on top of. The proto part is
                   protocol-specific and appears as a binary blob. */
                "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                "error": $error } ... ],
          "branch_refused":
            [ { /* An operation. The shell_header part indicates a block an
                   operation is meant to apply on top of. The proto part is
                   protocol-specific and appears as a binary blob. */
                "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                "error": $error } ... ],
          "branch_delayed":
            [ { /* An operation. The shell_header part indicates a block an
                   operation is meant to apply on top of. The proto part is
                   protocol-specific and appears as a binary blob. */
                "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                "error": $error } ... ] } ... ] }
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $block_header.shell:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash }
  $error:
    /* The full list of errors is available with the global RPC `GET errors` */
    any
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | shell_header          | Determined from data | $block_header.shell     |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | operations            | Variable             | sequence of $X_0        |
  +-----------------------+----------------------+-------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  block_header.shell
  ******************

  +----------------------------+----------+---------------------------+
  | Name                       | Size     | Contents                  |
  +============================+==========+===========================+
  | level                      | 4 bytes  | signed 32-bit integer     |
  +----------------------------+----------+---------------------------+
  | proto                      | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | predecessor                | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | timestamp                  | 8 bytes  | signed 64-bit integer     |
  +----------------------------+----------+---------------------------+
  | validation_pass            | 1 byte   | unsigned 8-bit integer    |
  +----------------------------+----------+---------------------------+
  | operations_hash            | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+
  | # bytes in field "fitness" | 4 bytes  | unsigned 30-bit integer   |
  +----------------------------+----------+---------------------------+
  | fitness                    | Variable | sequence of $fitness.elem |
  +----------------------------+----------+---------------------------+
  | context                    | 32 bytes | bytes                     |
  +----------------------------+----------+---------------------------+


  X_1
  ***

  +--------------------------+----------+-------------------------+
  | Name                     | Size     | Contents                |
  +==========================+==========+=========================+
  | hash                     | 32 bytes | bytes                   |
  +--------------------------+----------+-------------------------+
  | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | branch                   | 32 bytes | bytes                   |
  +--------------------------+----------+-------------------------+
  | data                     | Variable | bytes                   |
  +--------------------------+----------+-------------------------+


  X_2
  ***

  +--------------------------+----------+-------------------------+
  | Name                     | Size     | Contents                |
  +==========================+==========+=========================+
  | hash                     | 32 bytes | bytes                   |
  +--------------------------+----------+-------------------------+
  | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | branch                   | 32 bytes | bytes                   |
  +--------------------------+----------+-------------------------+
  | data                     | Variable | bytes                   |
  +--------------------------+----------+-------------------------+
  | # bytes in field "error" | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | error                    | Variable | bytes                   |
  +--------------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | applied               | Variable | sequence of $X_1        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | refused               | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | outdated              | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch_refused        | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch_delayed        | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+

  

POST ../<block_id>/helpers/preapply/operations?[version=<version>]

Simulate the application of the operations with the context of the given block and return the result of each operation application.

Optional query arguments :

  • version = <version>

  [ $next_operation
    /* operation_data_encoding */
    || $next_operation_with_legacy_attestation_name
    /* operation_data_encoding_with_legacy_attestation_name */ ... ]
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $next_operation:
    /* An operation's shell header. */
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $next_operation_with_legacy_attestation_name:
    /* An operation's shell header. */
    { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_31       |
  +-----------------------+----------+-------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_2
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_3
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_1
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+


  X_6
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_4
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_6     |
  +-----------------+----------------------+----------+


  X_7
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_1        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_4        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_7                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_10
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_9
  ***

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_10                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_13 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_8
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_9     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_13    |
  +-----------------+----------------------+----------+


  X_16 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_14
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_16    |
  +-----------------+----------------------+----------+


  X_17
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_18
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_19
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_20 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_19                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_21 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_20                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_22
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_23 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_22       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_21                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_24 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_23                  |
  +--------+----------------------+------------------------+


  X_25
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_27 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_28
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_29
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_30
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_30                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_31 (Determined from data, 8-bit tag)
  **************************************

  operation_data_encoding (tag 0)
  ===============================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | # bytes in next field         | 4 bytes  | unsigned 30-bit integer                                         |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | branch                        | 32 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | # bytes in next 2 fields      | 4 bytes  | unsigned 30-bit integer                                         |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+

  
  [ $alpha.operation.alpha.operation_with_metadata ... ]
  /* preapplied_operations_encoding_v1 */
  || [ $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata ... ]
  /* preapplied_operations_encoding_v0 */
  $Blinded public key hash:
    /* A blinded public key hash (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.apply_internal_results.alpha.operation_result:
    { /* transaction */
      "kind": "transaction",
      "source": $alpha.transaction_destination,
      "nonce": integer ∈ [0, 2^16-1],
      "amount": $alpha.mutez,
      "destination": $alpha.transaction_destination,
      "parameters"?: { "entrypoint": $alpha.entrypoint,
                       "value": any },
      "result": $alpha.operation.alpha.internal_operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "result":
           $alpha.operation.alpha.internal_operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result":
           $alpha.operation.alpha.internal_operation_result.delegation }
    || { /* event */
         "kind": "event",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "type": $micheline.alpha.michelson_v1.expression,
         "tag"?: $alpha.entrypoint,
         "payload"?: $micheline.alpha.michelson_v1.expression,
         "result": $alpha.operation.alpha.internal_operation_result.event }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.error:
    /* The full list of RPC errors would be too long to include.
       It is available at RPC `/errors` (GET).
       Errors specific to protocol Alpha have an id that starts with
       `proto.alpha`. */
    any
  $alpha.frozen_staker:
    /* frozen_staker
       Abstract notion of staker used in operation receipts for frozen
       deposits, either a single staker or all the stakers delegating to some
       delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
    || { /* Baker */
         "baker_own_stake": $Signature.Public_key_hash }
    || { /* Baker_edge */
         "baker_edge": $Signature.Public_key_hash }
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.lazy_storage_diff:
    [ { /* big_map */
        "kind": "big_map",
        "id": $alpha.big_map_id,
        "diff":
          { /* update */
            "action": "update",
            "updates":
              [ { "key_hash": $script_expr,
                  "key": $micheline.alpha.michelson_v1.expression,
                  "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* remove */
               "action": "remove" }
          || { /* copy */
               "action": "copy",
               "source": $alpha.big_map_id,
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* alloc */
               "action": "alloc",
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ],
               "key_type": $micheline.alpha.michelson_v1.expression,
               "value_type": $micheline.alpha.michelson_v1.expression } }
      || { /* sapling_state */
           "kind": "sapling_state",
           "id": $alpha.sapling_state_id,
           "diff":
             { /* update */
               "action": "update",
               "updates":
                 { "commitments_and_ciphertexts":
                     [ [ $sapling.transaction.commitment,
                         $sapling.transaction.ciphertext ] ... ],
                   "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* remove */
                  "action": "remove" }
             || { /* copy */
                  "action": "copy",
                  "source": $alpha.sapling_state_id,
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* alloc */
                  "action": "alloc",
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] },
                  "memo_size": integer ∈ [0, 2^16-1] } } ... ]
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation.alpha.internal_operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.internal_operation_result.event:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.internal_operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.internal_operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_contents_and_result:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "consensus_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preattestation */
         "kind": "preattestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation.alpha.operation_result.dal_publish_commitment:
    { /* Applied */
      "status": "applied",
      "slot_header":
        { /* v0 */
          "version": "0",
          "level": integer ∈ [0, 2^31],
          "index": integer ∈ [0, 255],
          "commitment": $DAL_commitment },
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "slot_header":
           { /* v0 */
             "version": "0",
             "level": integer ∈ [0, 2^31],
             "index": integer ∈ [0, 255],
             "commitment": $DAL_commitment },
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.increase_paid_storage:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.operation_result.register_global_constant:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "global_address": $script_expr }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "global_address": $script_expr }
  $alpha.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.set_deposits_limit:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_add_messages:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_cement:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "inbox_level": integer ∈ [0, 2^31],
      "commitment_hash": $smart_rollup_commitment_hash }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "inbox_level": integer ∈ [0, 2^31],
         "commitment_hash": $smart_rollup_commitment_hash }
  $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "whitelist_update"?:
        { /* Public */
          "kind": "public" }
        || { /* Private */
             "kind": "update",
             "whitelist": [ $Signature.Public_key_hash ... ] },
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "whitelist_update"?:
           { /* Public */
             "kind": "public" }
           || { /* Private */
                "kind": "update",
                "whitelist": [ $Signature.Public_key_hash ... ] },
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_originate:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "address": $smart_rollup_address,
      "genesis_commitment_hash": $smart_rollup_commitment_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_publish:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "staked_hash": $smart_rollup_commitment_hash,
      "published_at_level": integer ∈ [0, 2^31],
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "staked_hash": $smart_rollup_commitment_hash,
         "published_at_level": integer ∈ [0, 2^31],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_recover_bond:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_refute:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_timeout:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_result.transfer_ticket:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.update_consensus_key:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_origination:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "originated_zk_rollup": $Zk_rollup_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "originated_zk_rollup": $Zk_rollup_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_publish:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_update:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.operation_metadata.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "endorsement_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "endorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preendorsement */
         "kind": "preendorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "preendorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.sapling_state_id:
    /* Sapling state identifier
       A sapling state identifier */
    $bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.staker:
    /* unstaked_frozen_staker
       Abstract notion of staker used in operation receipts for unstaked
       frozen deposits, either a single staker or all the stakers delegating
       to some delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as given
       to an RPC or inside scripts. Can be a base58 implicit contract hash, a
       base58 originated contract hash, a base58 originated transaction
       rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_3
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_4
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_2
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_4     |
  +-----------------+----------------------+----------+


  X_7
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_5
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_7     |
  +-----------------+----------------------+----------+


  X_8
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_1
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_5        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_8                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_11
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_10
  ****

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_11                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_14 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_9
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_10    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_14    |
  +-----------------+----------------------+----------+


  X_17 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_15
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_17    |
  +-----------------+----------------------+----------+


  X_18
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_19
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_20
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_21 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_20                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_22 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_21                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_23
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_24 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_23       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_22                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_25 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_24                  |
  +--------+----------------------+------------------------+


  X_26
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_28 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_29
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_30
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_31
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents (Determined from data, 8-bit tag)
  ****************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_31                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_30                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_29                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_26                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_19                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_18                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_15                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_9        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_1                   |
  +---------------+----------------------+------------------------+


  alpha.staker (Determined from data, 8-bit tag)
  **********************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  alpha.bond_id (21 bytes, 8-bit tag)
  ***********************************

  Smart_rollup_bond_id (tag 1)
  ============================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | smart_rollup | 20 bytes | bytes                  |
  +--------------+----------+------------------------+


  alpha.frozen_staker (Determined from data, 8-bit tag)
  *****************************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Baker (tag 2)
  =============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | baker_own_stake | 21 bytes | $public_key_hash       |
  +-----------------+----------+------------------------+


  Baker_edge (tag 3)
  ==================

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | baker_edge | 21 bytes | $public_key_hash       |
  +------------+----------+------------------------+


  X_42 (Determined from data, 8-bit tag)
  **************************************

  Contract (tag 0)
  ================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Block_fees (tag 2)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Deposits (tag 4)
  ================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.frozen_staker   |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Nonce_revelation_rewards (tag 5)
  ================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Attesting_rewards (tag 7)
  =========================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_rewards (tag 8)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_bonuses (tag 9)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Storage_fees (tag 11)
  =====================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Double_signing_punishments (tag 12)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Lost_attesting_rewards (tag 13)
  ===============================

  +---------------+----------+-------------------------------------+
  | Name          | Size     | Contents                            |
  +===============+==========+=====================================+
  | Tag           | 1 byte   | unsigned 8-bit integer              |
  +---------------+----------+-------------------------------------+
  | delegate      | 21 bytes | $public_key_hash                    |
  +---------------+----------+-------------------------------------+
  | participation | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | change        | 8 bytes  | signed 64-bit integer               |
  +---------------+----------+-------------------------------------+


  Liquidity_baking_subsidies (tag 14)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Burned (tag 15)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Commitments (tag 16)
  ====================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | committer | 20 bytes | bytes                  |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Bootstrap (tag 17)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Invoice (tag 18)
  ================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Initial_commitments (tag 19)
  ============================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Minted (tag 20)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Frozen_bonds (tag 21)
  =====================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | bond_id  | 21 bytes | $alpha.bond_id         |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Smart_rollup_refutation_punishments (tag 24)
  ============================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Smart_rollup_refutation_rewards (tag 25)
  ========================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Unstaked_deposits (tag 26)
  ==========================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.staker          |
  +--------+----------------------+------------------------+
  | cycle  | 4 bytes              | signed 32-bit integer  |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Staking_delegator_numerator (tag 27)
  ====================================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | delegator | 22 bytes | $alpha.contract_id     |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Staking_delegate_denominator (tag 28)
  =====================================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  X_43 (Determined from data, 8-bit tag)
  **************************************

  Block_application (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Protocol_migration (tag 1)
  ==========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Subsidy (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Simulation (tag 3)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Delayed_operation (tag 4)
  =========================

  +------------------------+----------+------------------------+
  | Name                   | Size     | Contents               |
  +========================+==========+========================+
  | Tag                    | 1 byte   | unsigned 8-bit integer |
  +------------------------+----------+------------------------+
  | delayed_operation_hash | 32 bytes | bytes                  |
  +------------------------+----------+------------------------+


  X_41
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_42    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_43    |
  +-----------------+----------------------+----------+


  X_44
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
  *****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.transaction_destination (22 bytes, 8-bit tag)
  ***************************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  Smart_rollup (tag 3)
  ====================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | smart_rollup_address | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+
  | padding              | 1 byte   | padding                |
  +----------------------+----------+------------------------+


  Zk_rollup (tag 4)
  =================

  +----------------+----------+------------------------+
  | Name           | Size     | Contents               |
  +================+==========+========================+
  | Tag            | 1 byte   | unsigned 8-bit integer |
  +----------------+----------+------------------------+
  | Zk_rollup_hash | 20 bytes | bytes                  |
  +----------------+----------+------------------------+
  | padding        | 1 byte   | padding                |
  +----------------+----------+------------------------+


  alpha.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
  ***************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_66
  ****

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+


  X_65
  ****

  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_66       |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  X_71 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_65                  |
  +---------+----------------------+------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | source  | Determined from data | $Z.t                   |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_65                  |
  +---------+----------------------+------------------------+


  alloc (tag 3)
  =============

  +-----------+----------------------+-------------------------+
  | Name      | Size                 | Contents                |
  +===========+======================+=========================+
  | Tag       | 1 byte               | unsigned 8-bit integer  |
  +-----------+----------------------+-------------------------+
  | updates   | Determined from data | $X_65                   |
  +-----------+----------------------+-------------------------+
  | memo_size | 2 bytes              | unsigned 16-bit integer |
  +-----------+----------------------+-------------------------+


  X_72
  ****

  +-----------------------------+----------------------+------------------------------------------+
  | Name                        | Size                 | Contents                                 |
  +=============================+======================+==========================================+
  | key_hash                    | 32 bytes             | bytes                                    |
  +-----------------------------+----------------------+------------------------------------------+
  | key                         | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)      |
  +-----------------------------+----------------------+------------------------------------------+
  | value                       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+


  X_83 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | updates               | Variable | sequence of $X_72       |
  +-----------------------+----------+-------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | Determined from data | $Z.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_72       |
  +-----------------------+----------------------+-------------------------+


  alloc (tag 3)
  =============

  +-----------------------+----------------------+------------------------------------------+
  | Name                  | Size                 | Contents                                 |
  +=======================+======================+==========================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                   |
  +-----------------------+----------------------+------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                  |
  +-----------------------+----------------------+------------------------------------------+
  | updates               | Variable             | sequence of $X_72                        |
  +-----------------------+----------------------+------------------------------------------+
  | key_type              | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+
  | value_type            | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+


  X_84 (Determined from data, 8-bit tag)
  **************************************

  big_map (tag 0)
  ===============

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_83                  |
  +------+----------------------+------------------------+


  sapling_state (tag 1)
  =====================

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_71                  |
  +------+----------------------+------------------------+


  alpha.lazy_storage_diff
  ***********************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_84       |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | errors                                                            | Determined from data | $X_44                                     |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  X_111
  *****

  +--------------+----------------------+------------------------------------------+
  | Name         | Size                 | Contents                                 |
  +==============+======================+==========================================+
  | ticketer     | 22 bytes             | $alpha.contract_id                       |
  +--------------+----------------------+------------------------------------------+
  | content_type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+
  | content      | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+


  X_114
  *****

  +---------+----------------------+--------------------------------+
  | Name    | Size                 | Contents                       |
  +=========+======================+================================+
  | account | 22 bytes             | $alpha.transaction_destination |
  +---------+----------------------+--------------------------------+
  | amount  | Determined from data | $Z.t                           |
  +---------+----------------------+--------------------------------+


  X_110
  *****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | ticket_token          | Determined from data | $X_111                  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_114      |
  +-----------------------+----------------------+-------------------------+


  X_144 (Determined from data, 8-bit tag)
  ***************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_receipt                                                    | Variable             | sequence of $X_110                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_receipt        | Variable             | sequence of $X_110      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_144                 |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_144                              |
  +------------------------------+----------------------+-------------------------------------+


  alpha.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
  *************************************************************************************

  transaction (tag 1)
  ===================

  +----------------------------------+----------------------+--------------------------------------------------------------+
  | Name                             | Size                 | Contents                                                     |
  +==================================+======================+==============================================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | source                           | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                            | 2 bytes              | unsigned 16-bit integer                                      |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | amount                           | Determined from data | $N.t                                                         |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | destination                      | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | parameters                       | Determined from data | $X_30                                                        |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | result                           | Determined from data | $alpha.operation.alpha.internal_operation_result.transaction |
  +----------------------------------+----------------------+--------------------------------------------------------------+


  origination (tag 2)
  ===================

  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                               |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | balance                        | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                             |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts                                    |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.origination |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  delegation (tag 3)
  ==================

  +--------------------------------+----------------------+-------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                    |
  +================================+======================+=============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                      |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                              |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                     |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                         |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                            |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation |
  +--------------------------------+----------------------+-------------------------------------------------------------+


  event (tag 4)
  =============

  +-------------------------------+----------------------+--------------------------------------------------------+
  | Name                          | Size                 | Contents                                               |
  +===============================+======================+========================================================+
  | Tag                           | 1 byte               | unsigned 8-bit integer                                 |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | source                        | 22 bytes             | $alpha.transaction_destination                         |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | nonce                         | 2 bytes              | unsigned 16-bit integer                                |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | type                          | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | tag                           | Determined from data | $alpha.entrypoint                                      |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | payload                       | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | result                        | Determined from data | $alpha.operation.alpha.internal_operation_result.event |
  +-------------------------------+----------------------+--------------------------------------------------------+


  X_40
  ****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_update         |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
  ******************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_186
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_publish        |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
  **********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_329
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_origination    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_475 (54 bytes, 8-bit tag)
  ***************************

  v0 (tag 0)
  ==========

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | level      | 4 bytes  | signed 32-bit integer  |
  +------------+----------+------------------------+
  | index      | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | commitment | 48 bytes | bytes                  |
  +------------+----------+------------------------+


  alpha.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | slot_header       | 54 bytes             | $X_475                 |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | slot_header                  | 54 bytes             | $X_475                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  X_470
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.dal_publish_commitment   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
  **************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_606
  *****

  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                          |
  +===================================================================+======================+===================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                 |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_recover_bond |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+


  X_760 (Determined from data, 8-bit tag)
  ***************************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +-----------+----------------------+------------------------+
  | Name      | Size                 | Contents               |
  +===========+======================+========================+
  | Tag       | 1 byte               | unsigned 8-bit integer |
  +-----------+----------------------+------------------------+
  | whitelist | Determined from data | $X_29                  |
  +-----------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
  ************************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_760                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_760                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_746
  *****

  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                                    |
  +===================================================================+======================+=============================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                           |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+


  X_906 (1 byte, 8-bit tag)
  *************************

  Conflict_resolved (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Timeout (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_907 (Determined from data, 8-bit tag)
  ***************************************

  Loser (tag 0)
  =============

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | reason | 1 byte   | $X_906                 |
  +--------+----------+------------------------+
  | player | 21 bytes | $public_key_hash       |
  +--------+----------+------------------------+


  Draw (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_908 (Determined from data, 8-bit tag)
  ***************************************

  Ongoing (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Ended (tag 1)
  =============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | result | Determined from data | $X_907                 |
  +--------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | game_status                                                       | Determined from data | $X_908                  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | game_status                                                       | Determined from data | $X_908                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_901
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_timeout     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1200
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_publish     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+
  | inbox_level       | 4 bytes              | signed 32-bit integer  |
  +-------------------+----------------------+------------------------+
  | commitment_hash   | 32 bytes             | bytes                  |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | inbox_level                  | 4 bytes              | signed 32-bit integer               |
  +------------------------------+----------------------+-------------------------------------+
  | commitment_hash              | 32 bytes             | bytes                               |
  +------------------------------+----------------------+-------------------------------------+


  X_1340
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_cement      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_1475
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.event           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | address                                                           | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1611
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_originate   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
  ****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110      |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1751
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transfer_ticket          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
  *************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | storage_size                                                      | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | global_address                                                    | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | global_address                                                    | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_2309
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.register_global_constant |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2449
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2589
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.origination     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2809 (Determined from data, 8-bit tag)
  ****************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_updates        | Variable             | sequence of $X_110      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
  ************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_2809                |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_2809                             |
  +------------------------------+----------------------+-------------------------------------+


  X_2770
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transaction              |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_3108
  ******

  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | Name                                                              | Size     | Contents                                                     |
  +===================================================================+==========+==============================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer                                      |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                                            |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | delegate                                                          | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_power                                                   | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_key                                                     | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+


  X_3120
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | allocated_destination_contract                                    | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation_metadata.alpha.balance_updates
  **********************************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_41       |
  +-----------------------+----------+-------------------------+


  X_3128
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | ? presence of field "forbidden_delegate"                          | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | forbidden_delegate                                                | 21 bytes | $public_key_hash                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
  *************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | level    | 4 bytes              | signed 32-bit integer                           |
  +----------+----------------------+-------------------------------------------------+
  | nonce    | 32 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------------------+----------------------------+
  | Name                  | Size                 | Contents                   |
  +=======================+======================+============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer     |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op1                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op2                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | metadata              | Determined from data | $X_3128                    |
  +-----------------------+----------------------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------------------+---------------------------------------+
  | Name                  | Size                 | Contents                              |
  +=======================+======================+=======================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh1                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh2                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | metadata              | Determined from data | $X_3128                               |
  +-----------------------+----------------------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | pkh      | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | secret   | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------------------+-------------------------------+
  | Name                  | Size                 | Contents                      |
  +=======================+======================+===============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer        |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op1                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op2                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | metadata              | Determined from data | $X_3128                       |
  +-----------------------+----------------------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | solution | 200 bytes            | $X_31                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | consensus_key | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | delegate      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | destination   | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_3120                |
  +---------------+----------------------+------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1475                |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_30                               |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_2770                             |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2589                             |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2449                             |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_2309                 |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | metadata                    | Determined from data | $X_1475                             |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+
  | metadata      | Determined from data | $X_606                        |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1475                |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1751                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_29                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | metadata                        | Determined from data | $X_1611                                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1475                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1340                |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_26                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1200                |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_25                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_901                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_19                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_901                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_746                  |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_606                 |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_18                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_470                 |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_15                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | metadata              | Determined from data | $X_329                                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_9        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_186                  |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_1                   |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_40                  |
  +---------------+----------------------+------------------------+


  X_3146 (Variable, 8-bit tag)
  ****************************

  Operation_with_metadata (tag 0)
  ===============================

  +-----------------------+----------+------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                         |
  +=======================+==========+==================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                           |
  +-----------------------+----------+------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                          |
  +-----------------------+----------+------------------------------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.operation_contents_and_result |
  +-----------------------+----------+------------------------------------------------------------------+
  | signature             | Variable | bytes                                                            |
  +-----------------------+----------+------------------------------------------------------------------+


  Operation_without_metadata (tag 1)
  ==================================

  +-----------------------+----------+---------------------------------------------+
  | Name                  | Size     | Contents                                    |
  +=======================+==========+=============================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                      |
  +-----------------------+----------+---------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                     |
  +-----------------------+----------+---------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.contents |
  +-----------------------+----------+---------------------------------------------+
  | signature             | Variable | bytes                                       |
  +-----------------------+----------+---------------------------------------------+


  X_0
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | $X_3146                 |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/live_blocks

List the ancestors of the given block which, if referred to as the branch in an operation header, are recent enough for that operation to be included in the current block.

  [ $block_hash ... ]
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/metadata?[version=<version>]

GET ../<block_id>/metadata_hash

GET ../<block_id>/operation_hashes

The hashes of all the operations included in the block.

  [ [ $Operation_hash ... ] ... ]
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/operation_hashes/<list_offset>

All the operations included in `n-th` validation pass of the block.

  [ $Operation_hash ... ]
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  

GET ../<block_id>/operation_hashes/<list_offset>/<operation_offset>

The hash of then `m-th` operation in the `n-th` validation pass of the block.

  $unistring
  /* A Tezos operation ID (Base58Check-encoded) */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +----------------+----------+----------+
  | Name           | Size     | Contents |
  +================+==========+==========+
  | Operation_hash | 32 bytes | bytes    |
  +----------------+----------+----------+


  

GET ../<block_id>/operation_metadata_hashes

GET ../<block_id>/operation_metadata_hashes/<list_offset>

GET ../<block_id>/operation_metadata_hashes/<list_offset>/<operation_offset>

GET ../<block_id>/operations?[version=<version>]&[force_metadata]&[metadata=<metadata_rpc_arg>]

All the operations included in the block.

Optional query arguments :

  • version = <version>
  • force_metadata : DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.
  • metadata = <metadata_rpc_arg> : Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use "always". To avoid getting the metadata, use "never". By default, the metadata will be returned depending on the node's metadata size limit policy.

  [ [ $operation ... ] ... ]
  /* operations_encoding_v1 */
  || [ [ $operation_with_legacy_attestation_name ... ] ... ]
  /* operations_encoding_v0 */
  $Blinded public key hash:
    /* A blinded public key hash (Base58Check-encoded) */
    $unistring
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.apply_internal_results.alpha.operation_result:
    { /* transaction */
      "kind": "transaction",
      "source": $alpha.transaction_destination,
      "nonce": integer ∈ [0, 2^16-1],
      "amount": $alpha.mutez,
      "destination": $alpha.transaction_destination,
      "parameters"?: { "entrypoint": $alpha.entrypoint,
                       "value": any },
      "result": $alpha.operation.alpha.internal_operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "result":
           $alpha.operation.alpha.internal_operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result":
           $alpha.operation.alpha.internal_operation_result.delegation }
    || { /* event */
         "kind": "event",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "type": $micheline.alpha.michelson_v1.expression,
         "tag"?: $alpha.entrypoint,
         "payload"?: $micheline.alpha.michelson_v1.expression,
         "result": $alpha.operation.alpha.internal_operation_result.event }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.error:
    /* The full list of RPC errors would be too long to include.
       It is available at RPC `/errors` (GET).
       Errors specific to protocol Alpha have an id that starts with
       `proto.alpha`. */
    any
  $alpha.frozen_staker:
    /* frozen_staker
       Abstract notion of staker used in operation receipts for frozen
       deposits, either a single staker or all the stakers delegating to some
       delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
    || { /* Baker */
         "baker_own_stake": $Signature.Public_key_hash }
    || { /* Baker_edge */
         "baker_edge": $Signature.Public_key_hash }
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.lazy_storage_diff:
    [ { /* big_map */
        "kind": "big_map",
        "id": $alpha.big_map_id,
        "diff":
          { /* update */
            "action": "update",
            "updates":
              [ { "key_hash": $script_expr,
                  "key": $micheline.alpha.michelson_v1.expression,
                  "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* remove */
               "action": "remove" }
          || { /* copy */
               "action": "copy",
               "source": $alpha.big_map_id,
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* alloc */
               "action": "alloc",
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ],
               "key_type": $micheline.alpha.michelson_v1.expression,
               "value_type": $micheline.alpha.michelson_v1.expression } }
      || { /* sapling_state */
           "kind": "sapling_state",
           "id": $alpha.sapling_state_id,
           "diff":
             { /* update */
               "action": "update",
               "updates":
                 { "commitments_and_ciphertexts":
                     [ [ $sapling.transaction.commitment,
                         $sapling.transaction.ciphertext ] ... ],
                   "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* remove */
                  "action": "remove" }
             || { /* copy */
                  "action": "copy",
                  "source": $alpha.sapling_state_id,
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* alloc */
                  "action": "alloc",
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] },
                  "memo_size": integer ∈ [0, 2^16-1] } } ... ]
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation.alpha.contents_and_signature:
    { "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation.alpha.internal_operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.internal_operation_result.event:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.internal_operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.internal_operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_contents_and_result:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "consensus_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preattestation */
         "kind": "preattestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation.alpha.operation_result.dal_publish_commitment:
    { /* Applied */
      "status": "applied",
      "slot_header":
        { /* v0 */
          "version": "0",
          "level": integer ∈ [0, 2^31],
          "index": integer ∈ [0, 255],
          "commitment": $DAL_commitment },
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "slot_header":
           { /* v0 */
             "version": "0",
             "level": integer ∈ [0, 2^31],
             "index": integer ∈ [0, 255],
             "commitment": $DAL_commitment },
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.increase_paid_storage:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.operation_result.register_global_constant:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "global_address": $script_expr }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "global_address": $script_expr }
  $alpha.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.set_deposits_limit:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_add_messages:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_cement:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "inbox_level": integer ∈ [0, 2^31],
      "commitment_hash": $smart_rollup_commitment_hash }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "inbox_level": integer ∈ [0, 2^31],
         "commitment_hash": $smart_rollup_commitment_hash }
  $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "whitelist_update"?:
        { /* Public */
          "kind": "public" }
        || { /* Private */
             "kind": "update",
             "whitelist": [ $Signature.Public_key_hash ... ] },
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "whitelist_update"?:
           { /* Public */
             "kind": "public" }
           || { /* Private */
                "kind": "update",
                "whitelist": [ $Signature.Public_key_hash ... ] },
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_originate:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "address": $smart_rollup_address,
      "genesis_commitment_hash": $smart_rollup_commitment_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_publish:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "staked_hash": $smart_rollup_commitment_hash,
      "published_at_level": integer ∈ [0, 2^31],
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "staked_hash": $smart_rollup_commitment_hash,
         "published_at_level": integer ∈ [0, 2^31],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_recover_bond:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_refute:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_timeout:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_result.transfer_ticket:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.update_consensus_key:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_origination:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "originated_zk_rollup": $Zk_rollup_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "originated_zk_rollup": $Zk_rollup_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_publish:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_update:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.operation_metadata.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents_and_signature:
    { "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "endorsement_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "endorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preendorsement */
         "kind": "preendorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "preendorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.sapling_state_id:
    /* Sapling state identifier
       A sapling state identifier */
    $bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.staker:
    /* unstaked_frozen_staker
       Abstract notion of staker used in operation receipts for unstaked
       frozen deposits, either a single staker or all the stakers delegating
       to some delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as given
       to an RPC or inside scripts. Can be a base58 implicit contract hash, a
       base58 originated contract hash, a base58 originated transaction
       rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $operation:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $operation_with_legacy_attestation_name:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_3
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_4
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_2
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_4     |
  +-----------------+----------------------+----------+


  X_7
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_5
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_7     |
  +-----------------+----------------------+----------+


  X_8
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_1
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_5        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_8                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_11
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_10
  ****

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_11                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_14 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_9
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_10    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_14    |
  +-----------------+----------------------+----------+


  X_17 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_15
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_17    |
  +-----------------+----------------------+----------+


  X_18
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_19
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_20
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_21 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_20                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_22 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_21                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_23
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_24 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_23       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_22                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_25 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_24                  |
  +--------+----------------------+------------------------+


  X_26
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_28 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_29
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_30
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_31
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents (Determined from data, 8-bit tag)
  ****************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_31                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_30                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_29                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_26                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_19                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_18                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_15                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_9        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_1                   |
  +---------------+----------------------+------------------------+


  alpha.staker (Determined from data, 8-bit tag)
  **********************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  alpha.bond_id (21 bytes, 8-bit tag)
  ***********************************

  Smart_rollup_bond_id (tag 1)
  ============================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | smart_rollup | 20 bytes | bytes                  |
  +--------------+----------+------------------------+


  alpha.frozen_staker (Determined from data, 8-bit tag)
  *****************************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Baker (tag 2)
  =============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | baker_own_stake | 21 bytes | $public_key_hash       |
  +-----------------+----------+------------------------+


  Baker_edge (tag 3)
  ==================

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | baker_edge | 21 bytes | $public_key_hash       |
  +------------+----------+------------------------+


  X_42 (Determined from data, 8-bit tag)
  **************************************

  Contract (tag 0)
  ================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Block_fees (tag 2)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Deposits (tag 4)
  ================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.frozen_staker   |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Nonce_revelation_rewards (tag 5)
  ================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Attesting_rewards (tag 7)
  =========================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_rewards (tag 8)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_bonuses (tag 9)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Storage_fees (tag 11)
  =====================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Double_signing_punishments (tag 12)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Lost_attesting_rewards (tag 13)
  ===============================

  +---------------+----------+-------------------------------------+
  | Name          | Size     | Contents                            |
  +===============+==========+=====================================+
  | Tag           | 1 byte   | unsigned 8-bit integer              |
  +---------------+----------+-------------------------------------+
  | delegate      | 21 bytes | $public_key_hash                    |
  +---------------+----------+-------------------------------------+
  | participation | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | change        | 8 bytes  | signed 64-bit integer               |
  +---------------+----------+-------------------------------------+


  Liquidity_baking_subsidies (tag 14)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Burned (tag 15)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Commitments (tag 16)
  ====================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | committer | 20 bytes | bytes                  |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Bootstrap (tag 17)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Invoice (tag 18)
  ================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Initial_commitments (tag 19)
  ============================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Minted (tag 20)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Frozen_bonds (tag 21)
  =====================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | bond_id  | 21 bytes | $alpha.bond_id         |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Smart_rollup_refutation_punishments (tag 24)
  ============================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Smart_rollup_refutation_rewards (tag 25)
  ========================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Unstaked_deposits (tag 26)
  ==========================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.staker          |
  +--------+----------------------+------------------------+
  | cycle  | 4 bytes              | signed 32-bit integer  |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Staking_delegator_numerator (tag 27)
  ====================================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | delegator | 22 bytes | $alpha.contract_id     |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Staking_delegate_denominator (tag 28)
  =====================================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  X_43 (Determined from data, 8-bit tag)
  **************************************

  Block_application (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Protocol_migration (tag 1)
  ==========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Subsidy (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Simulation (tag 3)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Delayed_operation (tag 4)
  =========================

  +------------------------+----------+------------------------+
  | Name                   | Size     | Contents               |
  +========================+==========+========================+
  | Tag                    | 1 byte   | unsigned 8-bit integer |
  +------------------------+----------+------------------------+
  | delayed_operation_hash | 32 bytes | bytes                  |
  +------------------------+----------+------------------------+


  X_41
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_42    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_43    |
  +-----------------+----------------------+----------+


  X_44
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
  *****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.transaction_destination (22 bytes, 8-bit tag)
  ***************************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  Smart_rollup (tag 3)
  ====================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | smart_rollup_address | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+
  | padding              | 1 byte   | padding                |
  +----------------------+----------+------------------------+


  Zk_rollup (tag 4)
  =================

  +----------------+----------+------------------------+
  | Name           | Size     | Contents               |
  +================+==========+========================+
  | Tag            | 1 byte   | unsigned 8-bit integer |
  +----------------+----------+------------------------+
  | Zk_rollup_hash | 20 bytes | bytes                  |
  +----------------+----------+------------------------+
  | padding        | 1 byte   | padding                |
  +----------------+----------+------------------------+


  alpha.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
  ***************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_66
  ****

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+


  X_65
  ****

  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_66       |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  X_71 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_65                  |
  +---------+----------------------+------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | source  | Determined from data | $Z.t                   |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_65                  |
  +---------+----------------------+------------------------+


  alloc (tag 3)
  =============

  +-----------+----------------------+-------------------------+
  | Name      | Size                 | Contents                |
  +===========+======================+=========================+
  | Tag       | 1 byte               | unsigned 8-bit integer  |
  +-----------+----------------------+-------------------------+
  | updates   | Determined from data | $X_65                   |
  +-----------+----------------------+-------------------------+
  | memo_size | 2 bytes              | unsigned 16-bit integer |
  +-----------+----------------------+-------------------------+


  X_72
  ****

  +-----------------------------+----------------------+------------------------------------------+
  | Name                        | Size                 | Contents                                 |
  +=============================+======================+==========================================+
  | key_hash                    | 32 bytes             | bytes                                    |
  +-----------------------------+----------------------+------------------------------------------+
  | key                         | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)      |
  +-----------------------------+----------------------+------------------------------------------+
  | value                       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+


  X_83 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | updates               | Variable | sequence of $X_72       |
  +-----------------------+----------+-------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | Determined from data | $Z.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_72       |
  +-----------------------+----------------------+-------------------------+


  alloc (tag 3)
  =============

  +-----------------------+----------------------+------------------------------------------+
  | Name                  | Size                 | Contents                                 |
  +=======================+======================+==========================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                   |
  +-----------------------+----------------------+------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                  |
  +-----------------------+----------------------+------------------------------------------+
  | updates               | Variable             | sequence of $X_72                        |
  +-----------------------+----------------------+------------------------------------------+
  | key_type              | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+
  | value_type            | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+


  X_84 (Determined from data, 8-bit tag)
  **************************************

  big_map (tag 0)
  ===============

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_83                  |
  +------+----------------------+------------------------+


  sapling_state (tag 1)
  =====================

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_71                  |
  +------+----------------------+------------------------+


  alpha.lazy_storage_diff
  ***********************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_84       |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | errors                                                            | Determined from data | $X_44                                     |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  X_111
  *****

  +--------------+----------------------+------------------------------------------+
  | Name         | Size                 | Contents                                 |
  +==============+======================+==========================================+
  | ticketer     | 22 bytes             | $alpha.contract_id                       |
  +--------------+----------------------+------------------------------------------+
  | content_type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+
  | content      | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+


  X_114
  *****

  +---------+----------------------+--------------------------------+
  | Name    | Size                 | Contents                       |
  +=========+======================+================================+
  | account | 22 bytes             | $alpha.transaction_destination |
  +---------+----------------------+--------------------------------+
  | amount  | Determined from data | $Z.t                           |
  +---------+----------------------+--------------------------------+


  X_110
  *****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | ticket_token          | Determined from data | $X_111                  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_114      |
  +-----------------------+----------------------+-------------------------+


  X_144 (Determined from data, 8-bit tag)
  ***************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_receipt                                                    | Variable             | sequence of $X_110                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_receipt        | Variable             | sequence of $X_110      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_144                 |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_144                              |
  +------------------------------+----------------------+-------------------------------------+


  alpha.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
  *************************************************************************************

  transaction (tag 1)
  ===================

  +----------------------------------+----------------------+--------------------------------------------------------------+
  | Name                             | Size                 | Contents                                                     |
  +==================================+======================+==============================================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | source                           | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                            | 2 bytes              | unsigned 16-bit integer                                      |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | amount                           | Determined from data | $N.t                                                         |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | destination                      | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | parameters                       | Determined from data | $X_30                                                        |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | result                           | Determined from data | $alpha.operation.alpha.internal_operation_result.transaction |
  +----------------------------------+----------------------+--------------------------------------------------------------+


  origination (tag 2)
  ===================

  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                               |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | balance                        | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                             |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts                                    |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.origination |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  delegation (tag 3)
  ==================

  +--------------------------------+----------------------+-------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                    |
  +================================+======================+=============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                      |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                              |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                     |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                         |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                            |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation |
  +--------------------------------+----------------------+-------------------------------------------------------------+


  event (tag 4)
  =============

  +-------------------------------+----------------------+--------------------------------------------------------+
  | Name                          | Size                 | Contents                                               |
  +===============================+======================+========================================================+
  | Tag                           | 1 byte               | unsigned 8-bit integer                                 |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | source                        | 22 bytes             | $alpha.transaction_destination                         |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | nonce                         | 2 bytes              | unsigned 16-bit integer                                |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | type                          | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | tag                           | Determined from data | $alpha.entrypoint                                      |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | payload                       | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | result                        | Determined from data | $alpha.operation.alpha.internal_operation_result.event |
  +-------------------------------+----------------------+--------------------------------------------------------+


  X_40
  ****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_update         |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
  ******************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_186
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_publish        |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
  **********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_329
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_origination    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_475 (54 bytes, 8-bit tag)
  ***************************

  v0 (tag 0)
  ==========

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | level      | 4 bytes  | signed 32-bit integer  |
  +------------+----------+------------------------+
  | index      | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | commitment | 48 bytes | bytes                  |
  +------------+----------+------------------------+


  alpha.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | slot_header       | 54 bytes             | $X_475                 |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | slot_header                  | 54 bytes             | $X_475                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  X_470
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.dal_publish_commitment   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
  **************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_606
  *****

  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                          |
  +===================================================================+======================+===================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                 |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_recover_bond |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+


  X_760 (Determined from data, 8-bit tag)
  ***************************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +-----------+----------------------+------------------------+
  | Name      | Size                 | Contents               |
  +===========+======================+========================+
  | Tag       | 1 byte               | unsigned 8-bit integer |
  +-----------+----------------------+------------------------+
  | whitelist | Determined from data | $X_29                  |
  +-----------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
  ************************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_760                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_760                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_746
  *****

  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                                    |
  +===================================================================+======================+=============================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                           |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+


  X_906 (1 byte, 8-bit tag)
  *************************

  Conflict_resolved (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Timeout (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_907 (Determined from data, 8-bit tag)
  ***************************************

  Loser (tag 0)
  =============

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | reason | 1 byte   | $X_906                 |
  +--------+----------+------------------------+
  | player | 21 bytes | $public_key_hash       |
  +--------+----------+------------------------+


  Draw (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_908 (Determined from data, 8-bit tag)
  ***************************************

  Ongoing (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Ended (tag 1)
  =============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | result | Determined from data | $X_907                 |
  +--------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | game_status                                                       | Determined from data | $X_908                  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | game_status                                                       | Determined from data | $X_908                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_901
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_timeout     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1200
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_publish     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+
  | inbox_level       | 4 bytes              | signed 32-bit integer  |
  +-------------------+----------------------+------------------------+
  | commitment_hash   | 32 bytes             | bytes                  |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | inbox_level                  | 4 bytes              | signed 32-bit integer               |
  +------------------------------+----------------------+-------------------------------------+
  | commitment_hash              | 32 bytes             | bytes                               |
  +------------------------------+----------------------+-------------------------------------+


  X_1340
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_cement      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_1475
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.event           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | address                                                           | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1611
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_originate   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
  ****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110      |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1751
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transfer_ticket          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
  *************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | storage_size                                                      | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | global_address                                                    | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_44                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | global_address                                                    | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_2309
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.register_global_constant |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2449
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2589
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.origination     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2809 (Determined from data, 8-bit tag)
  ****************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_110                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_updates        | Variable             | sequence of $X_110      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
  ************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_2809                |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_3        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_44                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_2809                             |
  +------------------------------+----------------------+-------------------------------------+


  X_2770
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_41                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transaction              |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_3108
  ******

  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | Name                                                              | Size     | Contents                                                     |
  +===================================================================+==========+==============================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer                                      |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                                            |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | delegate                                                          | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_power                                                   | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_key                                                     | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+


  X_3120
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | allocated_destination_contract                                    | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation_metadata.alpha.balance_updates
  **********************************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_41       |
  +-----------------------+----------+-------------------------+


  X_3128
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | ? presence of field "forbidden_delegate"                          | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | forbidden_delegate                                                | 21 bytes | $public_key_hash                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_41                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
  *************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | level    | 4 bytes              | signed 32-bit integer                           |
  +----------+----------------------+-------------------------------------------------+
  | nonce    | 32 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------------------+----------------------------+
  | Name                  | Size                 | Contents                   |
  +=======================+======================+============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer     |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op1                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op2                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | metadata              | Determined from data | $X_3128                    |
  +-----------------------+----------------------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------------------+---------------------------------------+
  | Name                  | Size                 | Contents                              |
  +=======================+======================+=======================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh1                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh2                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | metadata              | Determined from data | $X_3128                               |
  +-----------------------+----------------------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | pkh      | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | secret   | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------------------+-------------------------------+
  | Name                  | Size                 | Contents                      |
  +=======================+======================+===============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer        |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op1                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op2                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | metadata              | Determined from data | $X_3128                       |
  +-----------------------+----------------------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | solution | 200 bytes            | $X_31                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | consensus_key | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | delegate      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | destination   | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_3120                |
  +---------------+----------------------+------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3108                 |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1475                |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_30                               |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_2770                             |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2589                             |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2449                             |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_2309                 |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | metadata                    | Determined from data | $X_1475                             |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+
  | metadata      | Determined from data | $X_606                        |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1475                |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1751                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_29                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | metadata                        | Determined from data | $X_1611                                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1475                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1340                |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_26                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1200                |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_25                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_901                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_19                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_901                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_746                  |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_606                 |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_18                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_470                 |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_15                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | metadata              | Determined from data | $X_329                                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_9        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_186                  |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_1                   |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_40                  |
  +---------------+----------------------+------------------------+


  X_3146 (Variable, 8-bit tag)
  ****************************

  Operation_with_metadata (tag 0)
  ===============================

  +-----------------------+----------+------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                         |
  +=======================+==========+==================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                           |
  +-----------------------+----------+------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                          |
  +-----------------------+----------+------------------------------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.operation_contents_and_result |
  +-----------------------+----------+------------------------------------------------------------------+
  | signature             | Variable | bytes                                                            |
  +-----------------------+----------+------------------------------------------------------------------+


  Operation_without_metadata (tag 1)
  ==================================

  +-----------------------+----------+---------------------------------------------+
  | Name                  | Size     | Contents                                    |
  +=======================+==========+=============================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                      |
  +-----------------------+----------+---------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                     |
  +-----------------------+----------+---------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.contents |
  +-----------------------+----------+---------------------------------------------+
  | signature             | Variable | bytes                                       |
  +-----------------------+----------+---------------------------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_31                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_30                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_28) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_29                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_3        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_26                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_19                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_18                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_15                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_9        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_1                   |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_3209 (Variable, 8-bit tag)
  ****************************

  Operation with too large metadata (tag 0)
  =========================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation without metadata (tag 1)
  ==================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation with metadata (tag 2)
  ===============================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | Variable | $X_3146                |
  +-----------------+----------+------------------------+


  operation
  *********

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | chain_id              | 4 bytes  | bytes                   |
  +-----------------------+----------+-------------------------+
  | hash                  | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch                | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | $X_3209                 |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +--------------------------+----------+-------------------------+
  | Name                     | Size     | Contents                |
  +==========================+==========+=========================+
  | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | # bytes in next field    | 4 bytes  | unsigned 30-bit integer |
  +--------------------------+----------+-------------------------+
  | Unnamed field 0          | Variable | sequence of $operation  |
  +--------------------------+----------+-------------------------+

  

GET ../<block_id>/operations/<list_offset>?[version=<version>]&[force_metadata]&[metadata=<metadata_rpc_arg>]

All the operations included in `n-th` validation pass of the block.

Optional query arguments :

  • version = <version>
  • force_metadata : DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.
  • metadata = <metadata_rpc_arg> : Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use "always". To avoid getting the metadata, use "never". By default, the metadata will be returned depending on the node's metadata size limit policy.

  [ $operation ... ]
  /* operations_in_pass_encoding_v1 */
  || [ $operation_with_legacy_attestation_name ... ]
  /* operations_in_pass_encoding_v0 */
  $Blinded public key hash:
    /* A blinded public key hash (Base58Check-encoded) */
    $unistring
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.apply_internal_results.alpha.operation_result:
    { /* transaction */
      "kind": "transaction",
      "source": $alpha.transaction_destination,
      "nonce": integer ∈ [0, 2^16-1],
      "amount": $alpha.mutez,
      "destination": $alpha.transaction_destination,
      "parameters"?: { "entrypoint": $alpha.entrypoint,
                       "value": any },
      "result": $alpha.operation.alpha.internal_operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "result":
           $alpha.operation.alpha.internal_operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result":
           $alpha.operation.alpha.internal_operation_result.delegation }
    || { /* event */
         "kind": "event",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "type": $micheline.alpha.michelson_v1.expression,
         "tag"?: $alpha.entrypoint,
         "payload"?: $micheline.alpha.michelson_v1.expression,
         "result": $alpha.operation.alpha.internal_operation_result.event }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.error:
    /* The full list of RPC errors would be too long to include.
       It is available at RPC `/errors` (GET).
       Errors specific to protocol Alpha have an id that starts with
       `proto.alpha`. */
    any
  $alpha.frozen_staker:
    /* frozen_staker
       Abstract notion of staker used in operation receipts for frozen
       deposits, either a single staker or all the stakers delegating to some
       delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
    || { /* Baker */
         "baker_own_stake": $Signature.Public_key_hash }
    || { /* Baker_edge */
         "baker_edge": $Signature.Public_key_hash }
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.lazy_storage_diff:
    [ { /* big_map */
        "kind": "big_map",
        "id": $alpha.big_map_id,
        "diff":
          { /* update */
            "action": "update",
            "updates":
              [ { "key_hash": $script_expr,
                  "key": $micheline.alpha.michelson_v1.expression,
                  "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* remove */
               "action": "remove" }
          || { /* copy */
               "action": "copy",
               "source": $alpha.big_map_id,
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* alloc */
               "action": "alloc",
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ],
               "key_type": $micheline.alpha.michelson_v1.expression,
               "value_type": $micheline.alpha.michelson_v1.expression } }
      || { /* sapling_state */
           "kind": "sapling_state",
           "id": $alpha.sapling_state_id,
           "diff":
             { /* update */
               "action": "update",
               "updates":
                 { "commitments_and_ciphertexts":
                     [ [ $sapling.transaction.commitment,
                         $sapling.transaction.ciphertext ] ... ],
                   "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* remove */
                  "action": "remove" }
             || { /* copy */
                  "action": "copy",
                  "source": $alpha.sapling_state_id,
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* alloc */
                  "action": "alloc",
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] },
                  "memo_size": integer ∈ [0, 2^16-1] } } ... ]
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation.alpha.contents_and_signature:
    { "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation.alpha.internal_operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.internal_operation_result.event:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.internal_operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.internal_operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_contents_and_result:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "consensus_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preattestation */
         "kind": "preattestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation.alpha.operation_result.dal_publish_commitment:
    { /* Applied */
      "status": "applied",
      "slot_header":
        { /* v0 */
          "version": "0",
          "level": integer ∈ [0, 2^31],
          "index": integer ∈ [0, 255],
          "commitment": $DAL_commitment },
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "slot_header":
           { /* v0 */
             "version": "0",
             "level": integer ∈ [0, 2^31],
             "index": integer ∈ [0, 255],
             "commitment": $DAL_commitment },
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.increase_paid_storage:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.operation_result.register_global_constant:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "global_address": $script_expr }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "global_address": $script_expr }
  $alpha.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.set_deposits_limit:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_add_messages:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_cement:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "inbox_level": integer ∈ [0, 2^31],
      "commitment_hash": $smart_rollup_commitment_hash }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "inbox_level": integer ∈ [0, 2^31],
         "commitment_hash": $smart_rollup_commitment_hash }
  $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "whitelist_update"?:
        { /* Public */
          "kind": "public" }
        || { /* Private */
             "kind": "update",
             "whitelist": [ $Signature.Public_key_hash ... ] },
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "whitelist_update"?:
           { /* Public */
             "kind": "public" }
           || { /* Private */
                "kind": "update",
                "whitelist": [ $Signature.Public_key_hash ... ] },
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_originate:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "address": $smart_rollup_address,
      "genesis_commitment_hash": $smart_rollup_commitment_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_publish:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "staked_hash": $smart_rollup_commitment_hash,
      "published_at_level": integer ∈ [0, 2^31],
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "staked_hash": $smart_rollup_commitment_hash,
         "published_at_level": integer ∈ [0, 2^31],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_recover_bond:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_refute:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_timeout:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_result.transfer_ticket:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.update_consensus_key:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_origination:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "originated_zk_rollup": $Zk_rollup_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "originated_zk_rollup": $Zk_rollup_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_publish:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_update:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.operation_metadata.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents_and_signature:
    { "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "endorsement_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "endorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preendorsement */
         "kind": "preendorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "preendorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.sapling_state_id:
    /* Sapling state identifier
       A sapling state identifier */
    $bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.staker:
    /* unstaked_frozen_staker
       Abstract notion of staker used in operation receipts for unstaked
       frozen deposits, either a single staker or all the stakers delegating
       to some delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as given
       to an RPC or inside scripts. Can be a base58 implicit contract hash, a
       base58 originated contract hash, a base58 originated transaction
       rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $operation:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $operation_with_legacy_attestation_name:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $operation  |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_2
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_3
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_1
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+


  X_6
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_4
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_6     |
  +-----------------+----------------------+----------+


  X_7
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_1        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_4        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_7                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_10
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_9
  ***

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_10                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_13 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_8
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_9     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_13    |
  +-----------------+----------------------+----------+


  X_16 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_14
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_16    |
  +-----------------+----------------------+----------+


  X_17
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_18
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_19
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_20 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_19                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_21 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_20                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_22
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_23 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_22       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_21                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_24 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_23                  |
  +--------+----------------------+------------------------+


  X_25
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_27 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_28
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_29
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_30
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents (Determined from data, 8-bit tag)
  ****************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_30                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+


  alpha.staker (Determined from data, 8-bit tag)
  **********************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  alpha.bond_id (21 bytes, 8-bit tag)
  ***********************************

  Smart_rollup_bond_id (tag 1)
  ============================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | smart_rollup | 20 bytes | bytes                  |
  +--------------+----------+------------------------+


  alpha.frozen_staker (Determined from data, 8-bit tag)
  *****************************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Baker (tag 2)
  =============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | baker_own_stake | 21 bytes | $public_key_hash       |
  +-----------------+----------+------------------------+


  Baker_edge (tag 3)
  ==================

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | baker_edge | 21 bytes | $public_key_hash       |
  +------------+----------+------------------------+


  X_41 (Determined from data, 8-bit tag)
  **************************************

  Contract (tag 0)
  ================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Block_fees (tag 2)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Deposits (tag 4)
  ================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.frozen_staker   |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Nonce_revelation_rewards (tag 5)
  ================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Attesting_rewards (tag 7)
  =========================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_rewards (tag 8)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_bonuses (tag 9)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Storage_fees (tag 11)
  =====================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Double_signing_punishments (tag 12)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Lost_attesting_rewards (tag 13)
  ===============================

  +---------------+----------+-------------------------------------+
  | Name          | Size     | Contents                            |
  +===============+==========+=====================================+
  | Tag           | 1 byte   | unsigned 8-bit integer              |
  +---------------+----------+-------------------------------------+
  | delegate      | 21 bytes | $public_key_hash                    |
  +---------------+----------+-------------------------------------+
  | participation | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | change        | 8 bytes  | signed 64-bit integer               |
  +---------------+----------+-------------------------------------+


  Liquidity_baking_subsidies (tag 14)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Burned (tag 15)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Commitments (tag 16)
  ====================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | committer | 20 bytes | bytes                  |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Bootstrap (tag 17)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Invoice (tag 18)
  ================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Initial_commitments (tag 19)
  ============================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Minted (tag 20)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Frozen_bonds (tag 21)
  =====================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | bond_id  | 21 bytes | $alpha.bond_id         |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Smart_rollup_refutation_punishments (tag 24)
  ============================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Smart_rollup_refutation_rewards (tag 25)
  ========================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Unstaked_deposits (tag 26)
  ==========================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.staker          |
  +--------+----------------------+------------------------+
  | cycle  | 4 bytes              | signed 32-bit integer  |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Staking_delegator_numerator (tag 27)
  ====================================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | delegator | 22 bytes | $alpha.contract_id     |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Staking_delegate_denominator (tag 28)
  =====================================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  X_42 (Determined from data, 8-bit tag)
  **************************************

  Block_application (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Protocol_migration (tag 1)
  ==========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Subsidy (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Simulation (tag 3)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Delayed_operation (tag 4)
  =========================

  +------------------------+----------+------------------------+
  | Name                   | Size     | Contents               |
  +========================+==========+========================+
  | Tag                    | 1 byte   | unsigned 8-bit integer |
  +------------------------+----------+------------------------+
  | delayed_operation_hash | 32 bytes | bytes                  |
  +------------------------+----------+------------------------+


  X_40
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_41    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_42    |
  +-----------------+----------------------+----------+


  X_43
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
  *****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.transaction_destination (22 bytes, 8-bit tag)
  ***************************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  Smart_rollup (tag 3)
  ====================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | smart_rollup_address | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+
  | padding              | 1 byte   | padding                |
  +----------------------+----------+------------------------+


  Zk_rollup (tag 4)
  =================

  +----------------+----------+------------------------+
  | Name           | Size     | Contents               |
  +================+==========+========================+
  | Tag            | 1 byte   | unsigned 8-bit integer |
  +----------------+----------+------------------------+
  | Zk_rollup_hash | 20 bytes | bytes                  |
  +----------------+----------+------------------------+
  | padding        | 1 byte   | padding                |
  +----------------+----------+------------------------+


  alpha.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
  ***************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_65
  ****

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+


  X_64
  ****

  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_65       |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  X_70 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_64                  |
  +---------+----------------------+------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | source  | Determined from data | $Z.t                   |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_64                  |
  +---------+----------------------+------------------------+


  alloc (tag 3)
  =============

  +-----------+----------------------+-------------------------+
  | Name      | Size                 | Contents                |
  +===========+======================+=========================+
  | Tag       | 1 byte               | unsigned 8-bit integer  |
  +-----------+----------------------+-------------------------+
  | updates   | Determined from data | $X_64                   |
  +-----------+----------------------+-------------------------+
  | memo_size | 2 bytes              | unsigned 16-bit integer |
  +-----------+----------------------+-------------------------+


  X_71
  ****

  +-----------------------------+----------------------+------------------------------------------+
  | Name                        | Size                 | Contents                                 |
  +=============================+======================+==========================================+
  | key_hash                    | 32 bytes             | bytes                                    |
  +-----------------------------+----------------------+------------------------------------------+
  | key                         | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)      |
  +-----------------------------+----------------------+------------------------------------------+
  | value                       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+


  X_82 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | updates               | Variable | sequence of $X_71       |
  +-----------------------+----------+-------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | Determined from data | $Z.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_71       |
  +-----------------------+----------------------+-------------------------+


  alloc (tag 3)
  =============

  +-----------------------+----------------------+------------------------------------------+
  | Name                  | Size                 | Contents                                 |
  +=======================+======================+==========================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                   |
  +-----------------------+----------------------+------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                  |
  +-----------------------+----------------------+------------------------------------------+
  | updates               | Variable             | sequence of $X_71                        |
  +-----------------------+----------------------+------------------------------------------+
  | key_type              | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+
  | value_type            | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+


  X_83 (Determined from data, 8-bit tag)
  **************************************

  big_map (tag 0)
  ===============

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_82                  |
  +------+----------------------+------------------------+


  sapling_state (tag 1)
  =====================

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_70                  |
  +------+----------------------+------------------------+


  alpha.lazy_storage_diff
  ***********************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_83       |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | errors                                                            | Determined from data | $X_43                                     |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  X_110
  *****

  +--------------+----------------------+------------------------------------------+
  | Name         | Size                 | Contents                                 |
  +==============+======================+==========================================+
  | ticketer     | 22 bytes             | $alpha.contract_id                       |
  +--------------+----------------------+------------------------------------------+
  | content_type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+
  | content      | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+


  X_113
  *****

  +---------+----------------------+--------------------------------+
  | Name    | Size                 | Contents                       |
  +=========+======================+================================+
  | account | 22 bytes             | $alpha.transaction_destination |
  +---------+----------------------+--------------------------------+
  | amount  | Determined from data | $Z.t                           |
  +---------+----------------------+--------------------------------+


  X_109
  *****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | ticket_token          | Determined from data | $X_110                  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_113      |
  +-----------------------+----------------------+-------------------------+


  X_143 (Determined from data, 8-bit tag)
  ***************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_receipt                                                    | Variable             | sequence of $X_109                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_receipt        | Variable             | sequence of $X_109      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_143                 |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_143                              |
  +------------------------------+----------------------+-------------------------------------+


  alpha.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
  *************************************************************************************

  transaction (tag 1)
  ===================

  +----------------------------------+----------------------+--------------------------------------------------------------+
  | Name                             | Size                 | Contents                                                     |
  +==================================+======================+==============================================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | source                           | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                            | 2 bytes              | unsigned 16-bit integer                                      |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | amount                           | Determined from data | $N.t                                                         |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | destination                      | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | parameters                       | Determined from data | $X_29                                                        |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | result                           | Determined from data | $alpha.operation.alpha.internal_operation_result.transaction |
  +----------------------------------+----------------------+--------------------------------------------------------------+


  origination (tag 2)
  ===================

  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                               |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | balance                        | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                             |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts                                    |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.origination |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  delegation (tag 3)
  ==================

  +--------------------------------+----------------------+-------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                    |
  +================================+======================+=============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                      |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                              |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                     |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                         |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                            |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation |
  +--------------------------------+----------------------+-------------------------------------------------------------+


  event (tag 4)
  =============

  +-------------------------------+----------------------+--------------------------------------------------------+
  | Name                          | Size                 | Contents                                               |
  +===============================+======================+========================================================+
  | Tag                           | 1 byte               | unsigned 8-bit integer                                 |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | source                        | 22 bytes             | $alpha.transaction_destination                         |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | nonce                         | 2 bytes              | unsigned 16-bit integer                                |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | type                          | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | tag                           | Determined from data | $alpha.entrypoint                                      |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | payload                       | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | result                        | Determined from data | $alpha.operation.alpha.internal_operation_result.event |
  +-------------------------------+----------------------+--------------------------------------------------------+


  X_39
  ****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_update         |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
  ******************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_185
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_publish        |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
  **********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_328
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_origination    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_474 (54 bytes, 8-bit tag)
  ***************************

  v0 (tag 0)
  ==========

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | level      | 4 bytes  | signed 32-bit integer  |
  +------------+----------+------------------------+
  | index      | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | commitment | 48 bytes | bytes                  |
  +------------+----------+------------------------+


  alpha.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | slot_header       | 54 bytes             | $X_474                 |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | slot_header                  | 54 bytes             | $X_474                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  X_469
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.dal_publish_commitment   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
  **************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_605
  *****

  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                          |
  +===================================================================+======================+===================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                 |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_recover_bond |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+


  X_759 (Determined from data, 8-bit tag)
  ***************************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +-----------+----------------------+------------------------+
  | Name      | Size                 | Contents               |
  +===========+======================+========================+
  | Tag       | 1 byte               | unsigned 8-bit integer |
  +-----------+----------------------+------------------------+
  | whitelist | Determined from data | $X_28                  |
  +-----------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
  ************************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_759                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_759                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_745
  *****

  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                                    |
  +===================================================================+======================+=============================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                           |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+


  X_905 (1 byte, 8-bit tag)
  *************************

  Conflict_resolved (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Timeout (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_906 (Determined from data, 8-bit tag)
  ***************************************

  Loser (tag 0)
  =============

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | reason | 1 byte   | $X_905                 |
  +--------+----------+------------------------+
  | player | 21 bytes | $public_key_hash       |
  +--------+----------+------------------------+


  Draw (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_907 (Determined from data, 8-bit tag)
  ***************************************

  Ongoing (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Ended (tag 1)
  =============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | result | Determined from data | $X_906                 |
  +--------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | game_status                                                       | Determined from data | $X_907                  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | game_status                                                       | Determined from data | $X_907                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_900
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_timeout     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1199
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_publish     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+
  | inbox_level       | 4 bytes              | signed 32-bit integer  |
  +-------------------+----------------------+------------------------+
  | commitment_hash   | 32 bytes             | bytes                  |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | inbox_level                  | 4 bytes              | signed 32-bit integer               |
  +------------------------------+----------------------+-------------------------------------+
  | commitment_hash              | 32 bytes             | bytes                               |
  +------------------------------+----------------------+-------------------------------------+


  X_1339
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_cement      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_1474
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.event           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | address                                                           | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1610
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_originate   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
  ****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109      |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1750
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transfer_ticket          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
  *************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | storage_size                                                      | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | global_address                                                    | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | global_address                                                    | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_2308
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.register_global_constant |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2448
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2588
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.origination     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2808 (Determined from data, 8-bit tag)
  ****************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_updates        | Variable             | sequence of $X_109      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
  ************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_2808                |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_2808                             |
  +------------------------------+----------------------+-------------------------------------+


  X_2769
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transaction              |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_3107
  ******

  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | Name                                                              | Size     | Contents                                                     |
  +===================================================================+==========+==============================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer                                      |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                                            |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | delegate                                                          | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_power                                                   | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_key                                                     | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+


  X_3119
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | allocated_destination_contract                                    | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation_metadata.alpha.balance_updates
  **********************************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_40       |
  +-----------------------+----------+-------------------------+


  X_3127
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | ? presence of field "forbidden_delegate"                          | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | forbidden_delegate                                                | 21 bytes | $public_key_hash                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
  *************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | level    | 4 bytes              | signed 32-bit integer                           |
  +----------+----------------------+-------------------------------------------------+
  | nonce    | 32 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------------------+----------------------------+
  | Name                  | Size                 | Contents                   |
  +=======================+======================+============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer     |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op1                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op2                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | metadata              | Determined from data | $X_3127                    |
  +-----------------------+----------------------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------------------+---------------------------------------+
  | Name                  | Size                 | Contents                              |
  +=======================+======================+=======================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh1                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh2                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | metadata              | Determined from data | $X_3127                               |
  +-----------------------+----------------------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | pkh      | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | secret   | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------------------+-------------------------------+
  | Name                  | Size                 | Contents                      |
  +=======================+======================+===============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer        |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op1                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op2                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | metadata              | Determined from data | $X_3127                       |
  +-----------------------+----------------------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | solution | 200 bytes            | $X_30                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | consensus_key | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | delegate      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | destination   | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_3119                |
  +---------------+----------------------+------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1474                |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_2769                             |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2588                             |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2448                             |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_2308                 |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | metadata                    | Determined from data | $X_1474                             |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+
  | metadata      | Determined from data | $X_605                        |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1474                |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1750                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | metadata                        | Determined from data | $X_1610                                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1474                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1339                |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1199                |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_900                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_900                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_745                  |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_605                 |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_469                 |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | metadata              | Determined from data | $X_328                                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_185                  |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_39                  |
  +---------------+----------------------+------------------------+


  X_3145 (Variable, 8-bit tag)
  ****************************

  Operation_with_metadata (tag 0)
  ===============================

  +-----------------------+----------+------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                         |
  +=======================+==========+==================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                           |
  +-----------------------+----------+------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                          |
  +-----------------------+----------+------------------------------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.operation_contents_and_result |
  +-----------------------+----------+------------------------------------------------------------------+
  | signature             | Variable | bytes                                                            |
  +-----------------------+----------+------------------------------------------------------------------+


  Operation_without_metadata (tag 1)
  ==================================

  +-----------------------+----------+---------------------------------------------+
  | Name                  | Size     | Contents                                    |
  +=======================+==========+=============================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                      |
  +-----------------------+----------+---------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                     |
  +-----------------------+----------+---------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.contents |
  +-----------------------+----------+---------------------------------------------+
  | signature             | Variable | bytes                                       |
  +-----------------------+----------+---------------------------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_30                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_3208 (Variable, 8-bit tag)
  ****************************

  Operation with too large metadata (tag 0)
  =========================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation without metadata (tag 1)
  ==================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation with metadata (tag 2)
  ===============================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | Variable | $X_3145                |
  +-----------------+----------+------------------------+


  operation
  *********

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | chain_id              | 4 bytes  | bytes                   |
  +-----------------------+----------+-------------------------+
  | hash                  | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch                | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | $X_3208                 |
  +-----------------------+----------+-------------------------+

  

GET ../<block_id>/operations/<list_offset>/<operation_offset>?[version=<version>]&[force_metadata]&[metadata=<metadata_rpc_arg>]

The `m-th` operation in the `n-th` validation pass of the block.

Optional query arguments :

  • version = <version>
  • force_metadata : DEPRECATED: Forces to recompute the operations metadata if it was considered as too large.
  • metadata = <metadata_rpc_arg> : Specifies whether or not if the operations metadata should be returned. To get the metadata, even if it is needed to recompute them, use "always". To avoid getting the metadata, use "never". By default, the metadata will be returned depending on the node's metadata size limit policy.

  $operation
  /* operation_encoding_v1 */
  || $operation_with_legacy_attestation_name
  /* operation_encoding_v0 */
  $Blinded public key hash:
    /* A blinded public key hash (Base58Check-encoded) */
    $unistring
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $Context_hash:
    /* A hash of context (Base58Check-encoded) */
    $unistring
  $DAL_commitment:
    /* Commitment representation for the DAL (Base58Check-encoded) */
    $unistring
  $Ed25519.Public_key_hash:
    /* An Ed25519 public key hash (Base58Check-encoded) */
    $unistring
  $Operation_hash:
    /* A Tezos operation ID (Base58Check-encoded) */
    $unistring
  $Operation_list_list_hash:
    /* A list of list of operations (Base58Check-encoded) */
    $unistring
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $Signature.Public_key:
    /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
    $unistring
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $Signature.V1:
    /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */
    $unistring
  $Zk_rollup_hash:
    /* A zk rollup address (Base58Check-encoded) */
    $unistring
  $alpha.adaptive_issuance_vote: "on" || "off" || "pass"
  $alpha.apply_internal_results.alpha.operation_result:
    { /* transaction */
      "kind": "transaction",
      "source": $alpha.transaction_destination,
      "nonce": integer ∈ [0, 2^16-1],
      "amount": $alpha.mutez,
      "destination": $alpha.transaction_destination,
      "parameters"?: { "entrypoint": $alpha.entrypoint,
                       "value": any },
      "result": $alpha.operation.alpha.internal_operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "result":
           $alpha.operation.alpha.internal_operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result":
           $alpha.operation.alpha.internal_operation_result.delegation }
    || { /* event */
         "kind": "event",
         "source": $alpha.transaction_destination,
         "nonce": integer ∈ [0, 2^16-1],
         "type": $micheline.alpha.michelson_v1.expression,
         "tag"?: $alpha.entrypoint,
         "payload"?: $micheline.alpha.michelson_v1.expression,
         "result": $alpha.operation.alpha.internal_operation_result.event }
  $alpha.big_map_id:
    /* Big map identifier
       A big map identifier */
    $bignum
  $alpha.block_header.alpha.full_header:
    /* Shell header
       Block header's shell-related content. It contains information such as
       the block level, its predecessor and timestamp. */
    { "level": integer ∈ [-2^31-1, 2^31],
      "proto": integer ∈ [0, 255],
      "predecessor": $block_hash,
      "timestamp": $timestamp.protocol,
      "validation_pass": integer ∈ [0, 255],
      "operations_hash": $Operation_list_list_hash,
      "fitness": $fitness,
      "context": $Context_hash,
      "payload_hash": $value_hash,
      "payload_round": integer ∈ [-2^31-1, 2^31],
      "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote,
      "adaptive_issuance_vote": $alpha.adaptive_issuance_vote,
      "signature": $Signature.V1 }
  $alpha.bond_id:
    { /* Smart_rollup_bond_id */
      "smart_rollup": $smart_rollup_address }
  $alpha.contract_id:
    /* A contract handle
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 implicit contract hash or a base58 originated contract hash. */
    $unistring
  $alpha.contract_id.originated:
    /* A contract handle -- originated account
       A contract notation as given to an RPC or inside scripts. Can be a
       base58 originated contract hash. */
    $unistring
  $alpha.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || "deposit"
    || "stake"
    || "unstake"
    || "finalize_unstake"
    || "set_delegate_parameters"
    || $unistring
    /* named */
  $alpha.error:
    /* The full list of RPC errors would be too long to include.
       It is available at RPC `/errors` (GET).
       Errors specific to protocol Alpha have an id that starts with
       `proto.alpha`. */
    any
  $alpha.frozen_staker:
    /* frozen_staker
       Abstract notion of staker used in operation receipts for frozen
       deposits, either a single staker or all the stakers delegating to some
       delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
    || { /* Baker */
         "baker_own_stake": $Signature.Public_key_hash }
    || { /* Baker_edge */
         "baker_edge": $Signature.Public_key_hash }
  $alpha.inlined.attestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.attestation_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.attestation_mempool.contents:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.endorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.endorsement_mempool.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.endorsement_mempool.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
  $alpha.inlined.preattestation:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preattestation.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preattestation.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.inlined.preendorsement:
    /* An operation's shell header. */
    { "branch": $block_hash,
      "operations": $alpha.inlined.preendorsement.contents,
      "signature"?: $Signature.V1 }
  $alpha.inlined.preendorsement.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
  $alpha.lazy_storage_diff:
    [ { /* big_map */
        "kind": "big_map",
        "id": $alpha.big_map_id,
        "diff":
          { /* update */
            "action": "update",
            "updates":
              [ { "key_hash": $script_expr,
                  "key": $micheline.alpha.michelson_v1.expression,
                  "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* remove */
               "action": "remove" }
          || { /* copy */
               "action": "copy",
               "source": $alpha.big_map_id,
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ] }
          || { /* alloc */
               "action": "alloc",
               "updates":
                 [ { "key_hash": $script_expr,
                     "key": $micheline.alpha.michelson_v1.expression,
                     "value"?: $micheline.alpha.michelson_v1.expression } ... ],
               "key_type": $micheline.alpha.michelson_v1.expression,
               "value_type": $micheline.alpha.michelson_v1.expression } }
      || { /* sapling_state */
           "kind": "sapling_state",
           "id": $alpha.sapling_state_id,
           "diff":
             { /* update */
               "action": "update",
               "updates":
                 { "commitments_and_ciphertexts":
                     [ [ $sapling.transaction.commitment,
                         $sapling.transaction.ciphertext ] ... ],
                   "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* remove */
                  "action": "remove" }
             || { /* copy */
                  "action": "copy",
                  "source": $alpha.sapling_state_id,
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] } }
             || { /* alloc */
                  "action": "alloc",
                  "updates":
                    { "commitments_and_ciphertexts":
                        [ [ $sapling.transaction.commitment,
                            $sapling.transaction.ciphertext ] ... ],
                      "nullifiers": [ $sapling.transaction.nullifier ... ] },
                  "memo_size": integer ∈ [0, 2^16-1] } } ... ]
  $alpha.liquidity_baking_vote: "on" || "off" || "pass"
  $alpha.michelson.v1.primitives:
    "SHA256"
    | "GT"
    | "RIGHT"
    | "SAPLING_EMPTY_STATE"
    | "False"
    | "RENAME"
    | "CAST"
    | "tx_rollup_l2_address"
    | "PACK"
    | "BYTES"
    | "timestamp"
    | "bls12_381_g2"
    | "Pair"
    | "IF_LEFT"
    | "contract"
    | "mutez"
    | "storage"
    | "PAIR"
    | "view"
    | "UNPACK"
    | "ADD"
    | "DROP"
    | "big_map"
    | "MUL"
    | "NAT"
    | "SELF"
    | "CONTRACT"
    | "CDR"
    | "SAPLING_VERIFY_UPDATE"
    | "pair"
    | "LSL"
    | "int"
    | "operation"
    | "SHA512"
    | "CREATE_ACCOUNT"
    | "BLAKE2B"
    | "SPLIT_TICKET"
    | "LEFT"
    | "never"
    | "unit"
    | "address"
    | "signature"
    | "CHAIN_ID"
    | "constant"
    | "SLICE"
    | "SENDER"
    | "IMPLICIT_ACCOUNT"
    | "key_hash"
    | "AMOUNT"
    | "CHECK_SIGNATURE"
    | "sapling_state"
    | "LT"
    | "EXEC"
    | "Elt"
    | "EMIT"
    | "NONE"
    | "CREATE_CONTRACT"
    | "LSR"
    | "SET_DELEGATE"
    | "OPEN_CHEST"
    | "TRANSFER_TOKENS"
    | "Some"
    | "parameter"
    | "set"
    | "bls12_381_fr"
    | "EDIV"
    | "None"
    | "STEPS_TO_QUOTA"
    | "key"
    | "ABS"
    | "list"
    | "NEVER"
    | "map"
    | "CAR"
    | "IF"
    | "GET_AND_UPDATE"
    | "CONCAT"
    | "LOOP"
    | "DIG"
    | "KECCAK"
    | "Lambda_rec"
    | "SOME"
    | "option"
    | "SUB"
    | "INT"
    | "PUSH"
    | "CONS"
    | "Unit"
    | "ISNAT"
    | "NEG"
    | "XOR"
    | "APPLY"
    | "UNPAIR"
    | "JOIN_TICKETS"
    | "SIZE"
    | "lambda"
    | "AND"
    | "NEQ"
    | "or"
    | "BALANCE"
    | "UNIT"
    | "VOTING_POWER"
    | "OR"
    | "LAMBDA"
    | "chest"
    | "LOOP_LEFT"
    | "True"
    | "Right"
    | "Ticket"
    | "HASH_KEY"
    | "DUG"
    | "sapling_transaction"
    | "SUB_MUTEZ"
    | "EMPTY_BIG_MAP"
    | "MEM"
    | "IF_NONE"
    | "nat"
    | "TOTAL_VOTING_POWER"
    | "LE"
    | "Left"
    | "chest_key"
    | "READ_TICKET"
    | "ticket"
    | "bls12_381_g1"
    | "LEVEL"
    | "VIEW"
    | "string"
    | "PAIRING_CHECK"
    | "LAMBDA_REC"
    | "NOW"
    | "SHA3"
    | "bool"
    | "MIN_BLOCK_TIME"
    | "GET"
    | "bytes"
    | "sapling_transaction_deprecated"
    | "NIL"
    | "IF_CONS"
    | "GE"
    | "NOT"
    | "SWAP"
    | "ITER"
    | "ADDRESS"
    | "TICKET"
    | "DUP"
    | "EMPTY_MAP"
    | "UPDATE"
    | "chain_id"
    | "TICKET_DEPRECATED"
    | "EMPTY_SET"
    | "FAILWITH"
    | "MAP"
    | "SOURCE"
    | "DIP"
    | "COMPARE"
    | "EQ"
    | "SELF_ADDRESS"
    | "code"
  $alpha.mutez: $positive_bignum
  $alpha.operation.alpha.contents:
    { /* Preattestation */
      "kind": "preattestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Attestation */
         "kind": "attestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation.alpha.contents_and_signature:
    { "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation.alpha.internal_operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.internal_operation_result.event:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.internal_operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.internal_operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_receipt"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_receipt":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_contents_and_result:
    { /* Attestation */
      "kind": "attestation",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "consensus_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Attestation_with_dal */
         "kind": "attestation_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preattestation */
         "kind": "preattestation",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "consensus_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_attestation_evidence */
         "kind": "double_attestation_evidence",
         "op1": $alpha.inlined.attestation,
         "op2": $alpha.inlined.attestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preattestation_evidence */
         "kind": "double_preattestation_evidence",
         "op1": $alpha.inlined.preattestation,
         "op2": $alpha.inlined.preattestation,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation.alpha.operation_result.dal_publish_commitment:
    { /* Applied */
      "status": "applied",
      "slot_header":
        { /* v0 */
          "version": "0",
          "level": integer ∈ [0, 2^31],
          "index": integer ∈ [0, 255],
          "commitment": $DAL_commitment },
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "slot_header":
           { /* v0 */
             "version": "0",
             "level": integer ∈ [0, 2^31],
             "index": integer ∈ [0, 255],
             "commitment": $DAL_commitment },
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.increase_paid_storage:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $alpha.contract_id.originated ... ],
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "lazy_storage_diff"?: $alpha.lazy_storage_diff }
  $alpha.operation.alpha.operation_result.register_global_constant:
    { /* Applied */
      "status": "applied",
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "global_address": $script_expr }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "global_address": $script_expr }
  $alpha.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.set_deposits_limit:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_add_messages:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_cement:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "inbox_level": integer ∈ [0, 2^31],
      "commitment_hash": $smart_rollup_commitment_hash }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "inbox_level": integer ∈ [0, 2^31],
         "commitment_hash": $smart_rollup_commitment_hash }
  $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "whitelist_update"?:
        { /* Public */
          "kind": "public" }
        || { /* Private */
             "kind": "update",
             "whitelist": [ $Signature.Public_key_hash ... ] },
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "whitelist_update"?:
           { /* Public */
             "kind": "public" }
           || { /* Private */
                "kind": "update",
                "whitelist": [ $Signature.Public_key_hash ... ] },
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_originate:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "address": $smart_rollup_address,
      "genesis_commitment_hash": $smart_rollup_commitment_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "address": $smart_rollup_address,
         "genesis_commitment_hash": $smart_rollup_commitment_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_publish:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "staked_hash": $smart_rollup_commitment_hash,
      "published_at_level": integer ∈ [0, 2^31],
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "staked_hash": $smart_rollup_commitment_hash,
         "published_at_level": integer ∈ [0, 2^31],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_recover_bond:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.smart_rollup_refute:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.smart_rollup_timeout:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum,
      "game_status":
        "ongoing"
        || { /* Ended */
             "result":
               { /* Loser */
                 "kind": "loser",
                 "reason": "conflict_resolved" || "timeout",
                 "player": $Signature.Public_key_hash }
               || { /* Draw */
                    "kind": "draw" } },
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "game_status":
           "ongoing"
           || { /* Ended */
                "result":
                  { /* Loser */
                    "kind": "loser",
                    "reason": "conflict_resolved" || "timeout",
                    "player": $Signature.Public_key_hash }
                  || { /* Draw */
                       "kind": "draw" } },
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates }
  $alpha.operation.alpha.operation_result.transaction:
    /* Applied */
    { /* To_contract */
      "status": "applied",
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "applied",
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || /* Backtracked */
    { /* To_contract */
      "status": "backtracked",
      "errors"?: [ $alpha.error ... ],
      "storage"?: $micheline.alpha.michelson_v1.expression,
      "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates"?:
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "originated_contracts"?: [ $alpha.contract_id.originated ... ],
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean,
      "lazy_storage_diff"?: $alpha.lazy_storage_diff }
    || { /* To_smart_rollup */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ] }
  $alpha.operation.alpha.operation_result.transfer_ticket:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "ticket_updates":
        [ { "ticket_token":
              { "ticketer": $alpha.contract_id,
                "content_type": $micheline.alpha.michelson_v1.expression,
                "content": $micheline.alpha.michelson_v1.expression },
            "updates":
              [ { "account": $alpha.transaction_destination,
                  "amount": $bignum } ... ] } ... ],
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "ticket_updates":
           [ { "ticket_token":
                 { "ticketer": $alpha.contract_id,
                   "content_type": $micheline.alpha.michelson_v1.expression,
                   "content": $micheline.alpha.michelson_v1.expression },
               "updates":
                 [ { "account": $alpha.transaction_destination,
                     "amount": $bignum } ... ] } ... ],
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_result.update_consensus_key:
    { /* Applied */
      "status": "applied",
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "consumed_milligas"?: $positive_bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_origination:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "originated_zk_rollup": $Zk_rollup_hash,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "originated_zk_rollup": $Zk_rollup_hash,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_publish:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "size": $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "size": $bignum }
  $alpha.operation.alpha.operation_result.zk_rollup_update:
    { /* Applied */
      "status": "applied",
      "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
      "consumed_milligas"?: $positive_bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $alpha.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $alpha.error ... ],
         "balance_updates": $alpha.operation_metadata.alpha.balance_updates,
         "consumed_milligas"?: $positive_bignum,
         "paid_storage_size_diff"?: $bignum }
  $alpha.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.operation_metadata.alpha.balance_updates:
    [ { /* Contract */
        "kind": "contract",
        "contract": $alpha.contract_id,
        "change": $int64,
        "origin": "block" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Contract */
           "kind": "contract",
           "contract": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "block" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Block_fees */
           "kind": "accumulator",
           "category": "block fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "block" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "migration" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "simulation" }
      || { /* Deposits */
           "kind": "freezer",
           "category": "deposits",
           "staker": $alpha.frozen_staker,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Nonce_revelation_rewards */
           "kind": "minted",
           "category": "nonce revelation rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Attesting_rewards */
           "kind": "minted",
           "category": "attesting rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_rewards */
           "kind": "minted",
           "category": "baking rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "block" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "migration" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "simulation" }
      || { /* Baking_bonuses */
           "kind": "minted",
           "category": "baking bonuses",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "block" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "migration" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "simulation" }
      || { /* Storage_fees */
           "kind": "burned",
           "category": "storage fees",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Double_signing_punishments */
           "kind": "burned",
           "category": "punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "block" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "migration" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "simulation" }
      || { /* Lost_attesting_rewards */
           "kind": "burned",
           "category": "lost attesting rewards",
           "delegate": $Signature.Public_key_hash,
           "participation": boolean,
           "revelation": boolean,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "block" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "migration" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "simulation" }
      || { /* Liquidity_baking_subsidies */
           "kind": "minted",
           "category": "subsidy",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "block" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "migration" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "simulation" }
      || { /* Burned */
           "kind": "burned",
           "category": "burned",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "block" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Commitments */
           "kind": "commitment",
           "category": "commitment",
           "committer": $Blinded public key hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "block" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "migration" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "simulation" }
      || { /* Bootstrap */
           "kind": "minted",
           "category": "bootstrap",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "block" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "migration" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "simulation" }
      || { /* Invoice */
           "kind": "minted",
           "category": "invoice",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "block" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "migration" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "simulation" }
      || { /* Initial_commitments */
           "kind": "minted",
           "category": "commitment",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "block" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "migration" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "simulation" }
      || { /* Minted */
           "kind": "minted",
           "category": "minted",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "block" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Frozen_bonds */
           "kind": "freezer",
           "category": "bonds",
           "contract": $alpha.contract_id,
           "bond_id": $alpha.bond_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_punishments */
           "kind": "burned",
           "category": "smart_rollup_refutation_punishments",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "block" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "migration" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "subsidy" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "simulation" }
      || { /* Smart_rollup_refutation_rewards */
           "kind": "minted",
           "category": "smart_rollup_refutation_rewards",
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "block" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "migration" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "subsidy" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "simulation" }
      || { /* Unstaked_deposits */
           "kind": "freezer",
           "category": "unstaked_deposits",
           "staker": $alpha.staker,
           "cycle": integer ∈ [-2^31-1, 2^31],
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegator_numerator */
           "kind": "staking",
           "category": "delegator_numerator",
           "delegator": $alpha.contract_id,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "block" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "migration" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "subsidy" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "simulation" }
      || { /* Staking_delegate_denominator */
           "kind": "staking",
           "category": "delegate_denominator",
           "delegate": $Signature.Public_key_hash,
           "change": $int64,
           "origin": "delayed_operation",
           "delayed_operation_hash": $Operation_hash } ... ]
  $alpha.operation_with_legacy_attestation_name.alpha.contents:
    { /* Preendorsement */
      "kind": "preendorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash }
    || { /* Endorsement */
         "kind": "endorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash }
    || { /* Failing_noop */
         "kind": "failing_noop",
         "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ] }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30] }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ] }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } }
  $alpha.operation_with_legacy_attestation_name.alpha.contents_and_signature:
    { "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1 }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "slot": integer ∈ [0, 2^16-1],
      "level": integer ∈ [0, 2^31],
      "round": integer ∈ [-2^31-1, 2^31],
      "block_payload_hash": $value_hash,
      "metadata":
        { "balance_updates"?: $alpha.operation_metadata.alpha.balance_updates,
          "delegate": $Signature.Public_key_hash,
          "endorsement_power": integer ∈ [-2^30, 2^30],
          "consensus_key": $Signature.Public_key_hash } }
    || { /* Endorsement_with_dal */
         "kind": "endorsement_with_dal",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "dal_attestation": $bignum,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "endorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Preendorsement */
         "kind": "preendorsement",
         "slot": integer ∈ [0, 2^16-1],
         "level": integer ∈ [0, 2^31],
         "round": integer ∈ [-2^31-1, 2^31],
         "block_payload_hash": $value_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "delegate": $Signature.Public_key_hash,
             "preendorsement_power": integer ∈ [-2^30, 2^30],
             "consensus_key": $Signature.Public_key_hash } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $alpha.inlined.endorsement,
         "op2": $alpha.inlined.endorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_preendorsement_evidence */
         "kind": "double_preendorsement_evidence",
         "op1": $alpha.inlined.preendorsement,
         "op2": $alpha.inlined.preendorsement,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [0, 2^31],
         "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Vdf_revelation */
         "kind": "vdf_revelation",
         "solution":
           [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $alpha.block_header.alpha.full_header,
         "bh2": $alpha.block_header.alpha.full_header,
         "metadata":
           { "forbidden_delegate"?: $Signature.Public_key_hash,
             "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-1, 2^31],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Drain_delegate */
         "kind": "drain_delegate",
         "consensus_key": $Signature.Public_key_hash,
         "delegate": $Signature.Public_key_hash,
         "destination": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "allocated_destination_contract"?: boolean } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $alpha.mutez,
         "destination": $alpha.contract_id,
         "parameters"?: { "entrypoint": $alpha.entrypoint,
                          "value": any },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $alpha.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $alpha.scripted.contracts,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Register_global_constant */
         "kind": "register_global_constant",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "value": any,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.register_global_constant,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Set_deposits_limit */
         "kind": "set_deposits_limit",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "limit"?: $alpha.mutez,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.set_deposits_limit,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Increase_paid_storage */
         "kind": "increase_paid_storage",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $bignum,
         "destination": $alpha.contract_id.originated,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.increase_paid_storage,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Update_consensus_key */
         "kind": "update_consensus_key",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pk": $Signature.Public_key,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.update_consensus_key,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Transfer_ticket */
         "kind": "transfer_ticket",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "ticket_contents": any,
         "ticket_ty": any,
         "ticket_ticketer": $alpha.contract_id,
         "ticket_amount": $positive_bignum,
         "destination": $alpha.contract_id,
         "entrypoint": $unistring,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.transfer_ticket,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Dal_publish_commitment */
         "kind": "dal_publish_commitment",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "slot_header":
           { "slot_index": integer ∈ [0, 255],
             "commitment": $DAL_commitment,
             "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.dal_publish_commitment,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_originate */
         "kind": "smart_rollup_originate",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "pvm_kind": "wasm_2_0_0" | "arith" | "riscv",
         "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "parameters_ty": any,
         "whitelist"?: [ $Signature.Public_key_hash ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_originate,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_add_messages */
         "kind": "smart_rollup_add_messages",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_add_messages,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_cement */
         "kind": "smart_rollup_cement",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_cement,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_publish */
         "kind": "smart_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "commitment":
           { "compressed_state": $smart_rollup_state_hash,
             "inbox_level": integer ∈ [0, 2^31],
             "predecessor": $smart_rollup_commitment_hash,
             "number_of_ticks": $int64 },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_refute */
         "kind": "smart_rollup_refute",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "opponent": $Signature.Public_key_hash,
         "refutation":
           { /* Start */
             "refutation_kind": "start",
             "player_commitment_hash": $smart_rollup_commitment_hash,
             "opponent_commitment_hash": $smart_rollup_commitment_hash }
           || { /* Move */
                "refutation_kind": "move",
                "choice": $positive_bignum,
                "step":
                  [ { "state"?: $smart_rollup_state_hash,
                      "tick": $positive_bignum } ... ]
                  /* Dissection */
                  || { /* Proof */
                       "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                       "input_proof"?:
                         { /* inbox proof */
                           "input_proof_kind": "inbox_proof",
                           "level": integer ∈ [0, 2^31],
                           "message_counter": $positive_bignum,
                           "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                         || { /* reveal proof */
                              "input_proof_kind": "reveal_proof",
                              "reveal_proof":
                                { /* raw data proof */
                                  "reveal_proof_kind": "raw_data_proof",
                                  "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* metadata proof */
                                     "reveal_proof_kind": "metadata_proof" }
                                || { /* dal page proof */
                                     "reveal_proof_kind": "dal_page_proof",
                                     "dal_page_id":
                                       { "published_level":
                                           integer ∈ [0, 2^31],
                                         "slot_index": integer ∈ [0, 255],
                                         "page_index":
                                           integer ∈ [-2^15, 2^15-1] },
                                     "dal_proof":
                                       /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
                                || { /* dal parameters proof */
                                     "reveal_proof_kind":
                                       "dal_parameters_proof" } }
                         || { /* first input */
                              "input_proof_kind": "first_input" } } },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_refute,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_timeout */
         "kind": "smart_rollup_timeout",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "stakers":
           { "alice": $Signature.Public_key_hash,
             "bob": $Signature.Public_key_hash },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_timeout,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_execute_outbox_message */
         "kind": "smart_rollup_execute_outbox_message",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "cemented_commitment": $smart_rollup_commitment_hash,
         "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Smart_rollup_recover_bond */
         "kind": "smart_rollup_recover_bond",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "rollup": $smart_rollup_address,
         "staker": $Signature.Public_key_hash,
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.smart_rollup_recover_bond,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_origination */
         "kind": "zk_rollup_origination",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
         "circuits_info":
           [ [ $unistring,
               { /* Public */
                 "public": any }
               || { /* Private */
                    "private": any }
               || { /* Fee */
                    "fee": any } ] ... ],
         "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
         "nb_ops": integer ∈ [-2^30, 2^30],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_origination,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_publish */
         "kind": "zk_rollup_publish",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "op":
           [ [ { "op_code": integer ∈ [-2^30, 2^30],
                 "price": { "id": $script_expr,
                            "amount": $bignum },
                 "l1_dst": $Signature.Public_key_hash,
                 "rollup_id": $Zk_rollup_hash,
                 "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
               { /* Some */
                 "contents": $micheline.alpha.michelson_v1.expression,
                 "ty": $micheline.alpha.michelson_v1.expression,
                 "ticketer": $alpha.contract_id }
               || null
               /* None */ ] ... ],
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_publish,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
    || { /* Zk_rollup_update */
         "kind": "zk_rollup_update",
         "source": $Signature.Public_key_hash,
         "fee": $alpha.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "zk_rollup": $Zk_rollup_hash,
         "update":
           { "pending_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
                     "exit_validity": boolean } ] ... ],
             "private_pis":
               [ [ $unistring,
                   { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ],
                     "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ],
             "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] },
             "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ },
         "metadata":
           { "balance_updates"?:
               $alpha.operation_metadata.alpha.balance_updates,
             "operation_result":
               $alpha.operation.alpha.operation_result.zk_rollup_update,
             "internal_operation_results"?:
               [ $alpha.apply_internal_results.alpha.operation_result ... ] } }
  $alpha.operation_with_legacy_attestation_name.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature.V1 }
    || { /* Operation_without_metadata */
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $alpha.sapling_state_id:
    /* Sapling state identifier
       A sapling state identifier */
    $bignum
  $alpha.scripted.contracts: { "code": any,
                               "storage": any }
  $alpha.staker:
    /* unstaked_frozen_staker
       Abstract notion of staker used in operation receipts for unstaked
       frozen deposits, either a single staker or all the stakers delegating
       to some delegate. */
    { /* Single */
      "contract": $alpha.contract_id,
      "delegate": $Signature.Public_key_hash }
    || { /* Shared */
         "delegate": $Signature.Public_key_hash }
  $alpha.transaction_destination:
    /* A destination of a transaction
       A destination notation compatible with the contract notation as given
       to an RPC or inside scripts. Can be a base58 implicit contract hash, a
       base58 originated contract hash, a base58 originated transaction
       rollup, or a base58 originated smart rollup. */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $block_hash:
    /* A block identifier (Base58Check-encoded) */
    $unistring
  $cycle_nonce:
    /* A nonce hash (Base58Check-encoded) */
    $unistring
  $fitness:
    /* Block fitness
       The fitness, or score, of a block, that allow the Tezos to decide
       which chain is the best. A fitness value is a list of byte sequences.
       They are compared as follows: shortest lists are smaller; lists of the
       same length are compared according to the lexicographical order. */
    [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ]
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $micheline.alpha.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
    || [ $micheline.alpha.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Prim__generic
            Generic primitive (any number of args with or without
            annotations) */
         "prim": $alpha.michelson.v1.primitives,
         "args"?: [ $micheline.alpha.michelson_v1.expression ... ],
         "annots"?: [ $unistring ... ] }
  $operation:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents": [ $alpha.operation.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $alpha.operation.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $operation_with_legacy_attestation_name:
    { /* An operation's shell header. */
      "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents":
        [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
      "signature"?: $Signature.V1,
      "metadata": "too large" }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.operation_contents_and_result ... ],
         "signature"?: $Signature.V1 }
    || { /* An operation's shell header. */
         "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents":
           [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ],
         "signature"?: $Signature.V1 }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $sapling.DH.epk: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.ciphertext:
    { "cv": $sapling.transaction.commitment_value,
      "epk": $sapling.DH.epk,
      "payload_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_enc": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "payload_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/,
      "nonce_out": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ }
  $sapling.transaction.commitment: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.commitment_value: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $sapling.transaction.nullifier: /^([a-zA-Z0-9][a-zA-Z0-9])*$/
  $script_expr:
    /* A script expression ID (Base58Check-encoded) */
    $unistring
  $smart_rollup_address:
    /* A smart rollup address (Base58Check-encoded) */
    $unistring
  $smart_rollup_commitment_hash:
    /* The hash of a commitment of a smart rollup (Base58Check-encoded) */
    $unistring
  $smart_rollup_state_hash:
    /* The hash of the VM state of a smart rollup (Base58Check-encoded) */
    $unistring
  $timestamp.protocol:
    /* A timestamp as seen by the protocol: second-level precision, epoch
       based. */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  $value_hash:
    /* Hash of a consensus value (Base58Check-encoded) */
    $unistring
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | chain_id              | 4 bytes  | bytes                   |
  +-----------------------+----------+-------------------------+
  | hash                  | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | branch                | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | $X_3208                 |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  N.t
  ***

  A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | N.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_2
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  X_3
  ***

  +-----------------------+----------+-------------------------------------+
  | Name                  | Size     | Contents                            |
  +=======================+==========+=====================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer             |
  +-----------------------+----------+-------------------------------------+
  | new_state             | Variable | sequence of bytes                   |
  +-----------------------+----------+-------------------------------------+
  | fee                   | 32 bytes | bytes                               |
  +-----------------------+----------+-------------------------------------+
  | exit_validity         | 1 byte   | boolean (0 for false, 255 for true) |
  +-----------------------+----------+-------------------------------------+


  X_1
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_3     |
  +-----------------+----------------------+----------+


  X_6
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | new_state             | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+
  | fee                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_4
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_6     |
  +-----------------+----------------------+----------+


  X_7
  ***

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of bytes       |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | pending_pis           | Variable             | sequence of $X_1        |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | private_pis           | Variable             | sequence of $X_4        |
  +-----------------------+----------------------+-------------------------+
  | fee_pi                | Determined from data | $X_7                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | proof                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Z.t
  ***

  A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order.

  +------+----------------------+----------+
  | Name | Size                 | Contents |
  +======+======================+==========+
  | Z.t  | Determined from data | bytes    |
  +------+----------------------+----------+


  X_10
  ****

  +--------+----------------------+----------+
  | Name   | Size                 | Contents |
  +========+======================+==========+
  | id     | 32 bytes             | bytes    |
  +--------+----------------------+----------+
  | amount | Determined from data | $Z.t     |
  +--------+----------------------+----------+


  X_9
  ***

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | op_code               | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | price                 | Determined from data | $X_10                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | l1_dst                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | rollup_id             | 20 bytes             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | payload               | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+


  alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer):
  ********************************************************************

  +-------------+--------------------------------+
  | Case number | Encoded string                 |
  +=============+================================+
  | 0           | parameter                      |
  +-------------+--------------------------------+
  | 1           | storage                        |
  +-------------+--------------------------------+
  | 2           | code                           |
  +-------------+--------------------------------+
  | 3           | False                          |
  +-------------+--------------------------------+
  | 4           | Elt                            |
  +-------------+--------------------------------+
  | 5           | Left                           |
  +-------------+--------------------------------+
  | 6           | None                           |
  +-------------+--------------------------------+
  | 7           | Pair                           |
  +-------------+--------------------------------+
  | 8           | Right                          |
  +-------------+--------------------------------+
  | 9           | Some                           |
  +-------------+--------------------------------+
  | 10          | True                           |
  +-------------+--------------------------------+
  | 11          | Unit                           |
  +-------------+--------------------------------+
  | 12          | PACK                           |
  +-------------+--------------------------------+
  | 13          | UNPACK                         |
  +-------------+--------------------------------+
  | 14          | BLAKE2B                        |
  +-------------+--------------------------------+
  | 15          | SHA256                         |
  +-------------+--------------------------------+
  | 16          | SHA512                         |
  +-------------+--------------------------------+
  | 17          | ABS                            |
  +-------------+--------------------------------+
  | 18          | ADD                            |
  +-------------+--------------------------------+
  | 19          | AMOUNT                         |
  +-------------+--------------------------------+
  | 20          | AND                            |
  +-------------+--------------------------------+
  | 21          | BALANCE                        |
  +-------------+--------------------------------+
  | 22          | CAR                            |
  +-------------+--------------------------------+
  | 23          | CDR                            |
  +-------------+--------------------------------+
  | 24          | CHECK_SIGNATURE                |
  +-------------+--------------------------------+
  | 25          | COMPARE                        |
  +-------------+--------------------------------+
  | 26          | CONCAT                         |
  +-------------+--------------------------------+
  | 27          | CONS                           |
  +-------------+--------------------------------+
  | 28          | CREATE_ACCOUNT                 |
  +-------------+--------------------------------+
  | 29          | CREATE_CONTRACT                |
  +-------------+--------------------------------+
  | 30          | IMPLICIT_ACCOUNT               |
  +-------------+--------------------------------+
  | 31          | DIP                            |
  +-------------+--------------------------------+
  | 32          | DROP                           |
  +-------------+--------------------------------+
  | 33          | DUP                            |
  +-------------+--------------------------------+
  | 34          | EDIV                           |
  +-------------+--------------------------------+
  | 35          | EMPTY_MAP                      |
  +-------------+--------------------------------+
  | 36          | EMPTY_SET                      |
  +-------------+--------------------------------+
  | 37          | EQ                             |
  +-------------+--------------------------------+
  | 38          | EXEC                           |
  +-------------+--------------------------------+
  | 39          | FAILWITH                       |
  +-------------+--------------------------------+
  | 40          | GE                             |
  +-------------+--------------------------------+
  | 41          | GET                            |
  +-------------+--------------------------------+
  | 42          | GT                             |
  +-------------+--------------------------------+
  | 43          | HASH_KEY                       |
  +-------------+--------------------------------+
  | 44          | IF                             |
  +-------------+--------------------------------+
  | 45          | IF_CONS                        |
  +-------------+--------------------------------+
  | 46          | IF_LEFT                        |
  +-------------+--------------------------------+
  | 47          | IF_NONE                        |
  +-------------+--------------------------------+
  | 48          | INT                            |
  +-------------+--------------------------------+
  | 49          | LAMBDA                         |
  +-------------+--------------------------------+
  | 50          | LE                             |
  +-------------+--------------------------------+
  | 51          | LEFT                           |
  +-------------+--------------------------------+
  | 52          | LOOP                           |
  +-------------+--------------------------------+
  | 53          | LSL                            |
  +-------------+--------------------------------+
  | 54          | LSR                            |
  +-------------+--------------------------------+
  | 55          | LT                             |
  +-------------+--------------------------------+
  | 56          | MAP                            |
  +-------------+--------------------------------+
  | 57          | MEM                            |
  +-------------+--------------------------------+
  | 58          | MUL                            |
  +-------------+--------------------------------+
  | 59          | NEG                            |
  +-------------+--------------------------------+
  | 60          | NEQ                            |
  +-------------+--------------------------------+
  | 61          | NIL                            |
  +-------------+--------------------------------+
  | 62          | NONE                           |
  +-------------+--------------------------------+
  | 63          | NOT                            |
  +-------------+--------------------------------+
  | 64          | NOW                            |
  +-------------+--------------------------------+
  | 65          | OR                             |
  +-------------+--------------------------------+
  | 66          | PAIR                           |
  +-------------+--------------------------------+
  | 67          | PUSH                           |
  +-------------+--------------------------------+
  | 68          | RIGHT                          |
  +-------------+--------------------------------+
  | 69          | SIZE                           |
  +-------------+--------------------------------+
  | 70          | SOME                           |
  +-------------+--------------------------------+
  | 71          | SOURCE                         |
  +-------------+--------------------------------+
  | 72          | SENDER                         |
  +-------------+--------------------------------+
  | 73          | SELF                           |
  +-------------+--------------------------------+
  | 74          | STEPS_TO_QUOTA                 |
  +-------------+--------------------------------+
  | 75          | SUB                            |
  +-------------+--------------------------------+
  | 76          | SWAP                           |
  +-------------+--------------------------------+
  | 77          | TRANSFER_TOKENS                |
  +-------------+--------------------------------+
  | 78          | SET_DELEGATE                   |
  +-------------+--------------------------------+
  | 79          | UNIT                           |
  +-------------+--------------------------------+
  | 80          | UPDATE                         |
  +-------------+--------------------------------+
  | 81          | XOR                            |
  +-------------+--------------------------------+
  | 82          | ITER                           |
  +-------------+--------------------------------+
  | 83          | LOOP_LEFT                      |
  +-------------+--------------------------------+
  | 84          | ADDRESS                        |
  +-------------+--------------------------------+
  | 85          | CONTRACT                       |
  +-------------+--------------------------------+
  | 86          | ISNAT                          |
  +-------------+--------------------------------+
  | 87          | CAST                           |
  +-------------+--------------------------------+
  | 88          | RENAME                         |
  +-------------+--------------------------------+
  | 89          | bool                           |
  +-------------+--------------------------------+
  | 90          | contract                       |
  +-------------+--------------------------------+
  | 91          | int                            |
  +-------------+--------------------------------+
  | 92          | key                            |
  +-------------+--------------------------------+
  | 93          | key_hash                       |
  +-------------+--------------------------------+
  | 94          | lambda                         |
  +-------------+--------------------------------+
  | 95          | list                           |
  +-------------+--------------------------------+
  | 96          | map                            |
  +-------------+--------------------------------+
  | 97          | big_map                        |
  +-------------+--------------------------------+
  | 98          | nat                            |
  +-------------+--------------------------------+
  | 99          | option                         |
  +-------------+--------------------------------+
  | 100         | or                             |
  +-------------+--------------------------------+
  | 101         | pair                           |
  +-------------+--------------------------------+
  | 102         | set                            |
  +-------------+--------------------------------+
  | 103         | signature                      |
  +-------------+--------------------------------+
  | 104         | string                         |
  +-------------+--------------------------------+
  | 105         | bytes                          |
  +-------------+--------------------------------+
  | 106         | mutez                          |
  +-------------+--------------------------------+
  | 107         | timestamp                      |
  +-------------+--------------------------------+
  | 108         | unit                           |
  +-------------+--------------------------------+
  | 109         | operation                      |
  +-------------+--------------------------------+
  | 110         | address                        |
  +-------------+--------------------------------+
  | 111         | SLICE                          |
  +-------------+--------------------------------+
  | 112         | DIG                            |
  +-------------+--------------------------------+
  | 113         | DUG                            |
  +-------------+--------------------------------+
  | 114         | EMPTY_BIG_MAP                  |
  +-------------+--------------------------------+
  | 115         | APPLY                          |
  +-------------+--------------------------------+
  | 116         | chain_id                       |
  +-------------+--------------------------------+
  | 117         | CHAIN_ID                       |
  +-------------+--------------------------------+
  | 118         | LEVEL                          |
  +-------------+--------------------------------+
  | 119         | SELF_ADDRESS                   |
  +-------------+--------------------------------+
  | 120         | never                          |
  +-------------+--------------------------------+
  | 121         | NEVER                          |
  +-------------+--------------------------------+
  | 122         | UNPAIR                         |
  +-------------+--------------------------------+
  | 123         | VOTING_POWER                   |
  +-------------+--------------------------------+
  | 124         | TOTAL_VOTING_POWER             |
  +-------------+--------------------------------+
  | 125         | KECCAK                         |
  +-------------+--------------------------------+
  | 126         | SHA3                           |
  +-------------+--------------------------------+
  | 127         | PAIRING_CHECK                  |
  +-------------+--------------------------------+
  | 128         | bls12_381_g1                   |
  +-------------+--------------------------------+
  | 129         | bls12_381_g2                   |
  +-------------+--------------------------------+
  | 130         | bls12_381_fr                   |
  +-------------+--------------------------------+
  | 131         | sapling_state                  |
  +-------------+--------------------------------+
  | 132         | sapling_transaction_deprecated |
  +-------------+--------------------------------+
  | 133         | SAPLING_EMPTY_STATE            |
  +-------------+--------------------------------+
  | 134         | SAPLING_VERIFY_UPDATE          |
  +-------------+--------------------------------+
  | 135         | ticket                         |
  +-------------+--------------------------------+
  | 136         | TICKET_DEPRECATED              |
  +-------------+--------------------------------+
  | 137         | READ_TICKET                    |
  +-------------+--------------------------------+
  | 138         | SPLIT_TICKET                   |
  +-------------+--------------------------------+
  | 139         | JOIN_TICKETS                   |
  +-------------+--------------------------------+
  | 140         | GET_AND_UPDATE                 |
  +-------------+--------------------------------+
  | 141         | chest                          |
  +-------------+--------------------------------+
  | 142         | chest_key                      |
  +-------------+--------------------------------+
  | 143         | OPEN_CHEST                     |
  +-------------+--------------------------------+
  | 144         | VIEW                           |
  +-------------+--------------------------------+
  | 145         | view                           |
  +-------------+--------------------------------+
  | 146         | constant                       |
  +-------------+--------------------------------+
  | 147         | SUB_MUTEZ                      |
  +-------------+--------------------------------+
  | 148         | tx_rollup_l2_address           |
  +-------------+--------------------------------+
  | 149         | MIN_BLOCK_TIME                 |
  +-------------+--------------------------------+
  | 150         | sapling_transaction            |
  +-------------+--------------------------------+
  | 151         | EMIT                           |
  +-------------+--------------------------------+
  | 152         | Lambda_rec                     |
  +-------------+--------------------------------+
  | 153         | LAMBDA_REC                     |
  +-------------+--------------------------------+
  | 154         | TICKET                         |
  +-------------+--------------------------------+
  | 155         | BYTES                          |
  +-------------+--------------------------------+
  | 156         | NAT                            |
  +-------------+--------------------------------+
  | 157         | Ticket                         |
  +-------------+--------------------------------+


  micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag)
  *************************************************************************

  Int (tag 0)
  ===========

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | int  | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+


  String (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | string                | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Sequence (tag 2)
  ================

  +-----------------------+----------+------------------------------------------------------+
  | Name                  | Size     | Contents                                             |
  +=======================+==========+======================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                               |
  +-----------------------+----------+------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                              |
  +-----------------------+----------+------------------------------------------------------+
  | Unnamed field 0       | Variable | sequence of $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------+------------------------------------------------------+


  Prim__no_args__no_annots (tag 3)
  ================================

  +------+--------+------------------------------------------------------------------------------------+
  | Name | Size   | Contents                                                                           |
  +======+========+====================================================================================+
  | Tag  | 1 byte | unsigned 8-bit integer                                                             |
  +------+--------+------------------------------------------------------------------------------------+
  | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+--------+------------------------------------------------------------------------------------+


  Prim__no_args__some_annots (tag 4)
  ==================================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Prim__1_arg__no_annots (tag 5)
  ==============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__1_arg__some_annots (tag 6)
  ================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__no_annots (tag 7)
  ===============================

  +------+----------------------+------------------------------------------------------------------------------------+
  | Name | Size                 | Contents                                                                           |
  +======+======================+====================================================================================+
  | Tag  | 1 byte               | unsigned 8-bit integer                                                             |
  +------+----------------------+------------------------------------------------------------------------------------+
  | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +------+----------------------+------------------------------------------------------------------------------------+


  Prim__2_args__some_annots (tag 8)
  =================================

  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                                           |
  +=======================+======================+====================================================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                                             |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.alpha.michelson_v1.expression                                           |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                            |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+
  | annots                | Variable             | bytes                                                                              |
  +-----------------------+----------------------+------------------------------------------------------------------------------------+


  Prim__generic (tag 9)
  =====================

  +-----------------------+----------+------------------------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                                           |
  +=======================+==========+====================================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                                             |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.alpha.michelson_v1.expression                               |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                            |
  +-----------------------+----------+------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                              |
  +-----------------------+----------+------------------------------------------------------------------------------------+


  Bytes (tag 10)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | bytes                 | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.contract_id (22 bytes, 8-bit tag)
  ***************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  X_13 (Determined from data, 8-bit tag)
  **************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +----------+----------------------+------------------------------------------+
  | Name     | Size                 | Contents                                 |
  +==========+======================+==========================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                   |
  +----------+----------------------+------------------------------------------+
  | contents | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ty       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +----------+----------------------+------------------------------------------+
  | ticketer | 22 bytes             | $alpha.contract_id                       |
  +----------+----------------------+------------------------------------------+


  X_8
  ***

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_9     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_13    |
  +-----------------+----------------------+----------+


  X_16 (1 byte, 8-bit tag)
  ************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Fee (tag 2)
  ===========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_14
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_2     |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | 1 byte               | $X_16    |
  +-----------------+----------------------+----------+


  X_17
  ****

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | slot_index       | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | commitment       | 48 bytes | bytes                  |
  +------------------+----------+------------------------+
  | commitment_proof | 96 bytes | bytes                  |
  +------------------+----------+------------------------+


  X_18
  ****

  +-------+----------+------------------+
  | Name  | Size     | Contents         |
  +=======+==========+==================+
  | alice | 21 bytes | $public_key_hash |
  +-------+----------+------------------+
  | bob   | 21 bytes | $public_key_hash |
  +-------+----------+------------------+


  X_19
  ****

  +-----------------+---------+------------------------+
  | Name            | Size    | Contents               |
  +=================+=========+========================+
  | published_level | 4 bytes | signed 32-bit integer  |
  +-----------------+---------+------------------------+
  | slot_index      | 1 byte  | unsigned 8-bit integer |
  +-----------------+---------+------------------------+
  | page_index      | 2 bytes | signed 16-bit integer  |
  +-----------------+---------+------------------------+


  X_20 (Determined from data, 8-bit tag)
  **************************************

  raw data proof (tag 0)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 2 bytes  | unsigned 16-bit integer |
  +-----------------------+----------+-------------------------+
  | raw_data              | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  metadata proof (tag 1)
  ======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  dal page proof (tag 2)
  ======================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | dal_page_id           | 7 bytes  | $X_19                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | dal_proof             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  dal parameters proof (tag 3)
  ============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_21 (Determined from data, 8-bit tag)
  **************************************

  inbox proof (tag 0)
  ===================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | level                 | 4 bytes              | signed 32-bit integer   |
  +-----------------------+----------------------+-------------------------+
  | message_counter       | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | serialized_proof      | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  reveal proof (tag 1)
  ====================

  +--------------+----------------------+------------------------+
  | Name         | Size                 | Contents               |
  +==============+======================+========================+
  | Tag          | 1 byte               | unsigned 8-bit integer |
  +--------------+----------------------+------------------------+
  | reveal_proof | Determined from data | $X_20                  |
  +--------------+----------------------+------------------------+


  first input (tag 2)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_22
  ****

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | ? presence of field "state" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | state                       | 32 bytes             | bytes                               |
  +-----------------------------+----------------------+-------------------------------------+
  | tick                        | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  X_23 (Determined from data, 8-bit tag)
  **************************************

  Dissection (tag 0)
  ==================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_22       |
  +-----------------------+----------+-------------------------+


  Proof (tag 1)
  =============

  +-----------------------------------+----------------------+-------------------------------------+
  | Name                              | Size                 | Contents                            |
  +===================================+======================+=====================================+
  | Tag                               | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------------+----------------------+-------------------------------------+
  | # bytes in next field             | 4 bytes              | unsigned 30-bit integer             |
  +-----------------------------------+----------------------+-------------------------------------+
  | pvm_step                          | Variable             | bytes                               |
  +-----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "input_proof" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------------+----------------------+-------------------------------------+
  | input_proof                       | Determined from data | $X_21                               |
  +-----------------------------------+----------------------+-------------------------------------+


  X_24 (Determined from data, 8-bit tag)
  **************************************

  Start (tag 0)
  =============

  +--------------------------+----------+------------------------+
  | Name                     | Size     | Contents               |
  +==========================+==========+========================+
  | Tag                      | 1 byte   | unsigned 8-bit integer |
  +--------------------------+----------+------------------------+
  | player_commitment_hash   | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+
  | opponent_commitment_hash | 32 bytes | bytes                  |
  +--------------------------+----------+------------------------+


  Move (tag 1)
  ============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | choice | Determined from data | $N.t                   |
  +--------+----------------------+------------------------+
  | step   | Determined from data | $X_23                  |
  +--------+----------------------+------------------------+


  X_25
  ****

  +------------------+----------+-----------------------+
  | Name             | Size     | Contents              |
  +==================+==========+=======================+
  | compressed_state | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | inbox_level      | 4 bytes  | signed 32-bit integer |
  +------------------+----------+-----------------------+
  | predecessor      | 32 bytes | bytes                 |
  +------------------+----------+-----------------------+
  | number_of_ticks  | 8 bytes  | signed 64-bit integer |
  +------------------+----------+-----------------------+


  X_27 (Enumeration: unsigned 8-bit integer):
  *******************************************

  +-------------+----------------+
  | Case number | Encoded string |
  +=============+================+
  | 0           | arith          |
  +-------------+----------------+
  | 1           | wasm_2_0_0     |
  +-------------+----------------+
  | 2           | riscv          |
  +-------------+----------------+


  X_28
  ****

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | Unnamed field 0       | Variable | sequence of $public_key_hash |
  +-----------------------+----------+------------------------------+


  public_key (Determined from data, 8-bit tag)
  ********************************************

  Ed25519 (tag 0)
  ===============

  +--------------------+----------+------------------------+
  | Name               | Size     | Contents               |
  +====================+==========+========================+
  | Tag                | 1 byte   | unsigned 8-bit integer |
  +--------------------+----------+------------------------+
  | Ed25519.Public_key | 32 bytes | bytes                  |
  +--------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Secp256k1.Public_key | 33 bytes | bytes                  |
  +----------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | P256.Public_key | 33 bytes | bytes                  |
  +-----------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | Bls12_381.Public_key | 48 bytes | bytes                  |
  +----------------------+----------+------------------------+


  alpha.contract_id.originated (22 bytes, 8-bit tag)
  **************************************************

  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  alpha.scripted.contracts
  ************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | code                  | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | storage               | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.entrypoint (Determined from data, 8-bit tag)
  **************************************************

  default (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  root (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  do (tag 2)
  ==========

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate (tag 3)
  ====================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  remove_delegate (tag 4)
  =======================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  deposit (tag 5)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  stake (tag 6)
  =============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  unstake (tag 7)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  finalize_unstake (tag 8)
  ========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  set_delegate_parameters (tag 9)
  ===============================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  named (tag 255)
  ===============

  +-----------------------+----------+------------------------+
  | Name                  | Size     | Contents               |
  +=======================+==========+========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | # bytes in next field | 1 byte   | unsigned 8-bit integer |
  +-----------------------+----------+------------------------+
  | Unnamed field 0       | Variable | bytes                  |
  +-----------------------+----------+------------------------+


  X_29
  ****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | entrypoint            | Determined from data | $alpha.entrypoint       |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  X_30
  ****

  +-----------------+-----------+----------+
  | Name            | Size      | Contents |
  +=================+===========+==========+
  | Unnamed field 0 | 100 bytes | bytes    |
  +-----------------+-----------+----------+
  | Unnamed field 1 | 100 bytes | bytes    |
  +-----------------+-----------+----------+


  alpha.inlined.preattestation.contents (43 bytes, 8-bit tag)
  ***********************************************************

  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  alpha.inlined.preattestation
  ****************************

  +------------+----------+----------------------------------------+
  | Name       | Size     | Contents                               |
  +============+==========+========================================+
  | branch     | 32 bytes | bytes                                  |
  +------------+----------+----------------------------------------+
  | operations | 43 bytes | $alpha.inlined.preattestation.contents |
  +------------+----------+----------------------------------------+
  | signature  | Variable | bytes                                  |
  +------------+----------+----------------------------------------+


  fitness.elem
  ************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  alpha.per_block_votes (1 byte, 8-bit tag)
  *****************************************

  case 0 (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 1 (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 2 (tag 2)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 4 (tag 4)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 5 (tag 5)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 6 (tag 6)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 8 (tag 8)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 9 (tag 9)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  case 10 (tag 10)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  alpha.block_header.alpha.full_header
  ************************************

  +---------------------------------------+----------+-------------------------------------+
  | Name                                  | Size     | Contents                            |
  +=======================================+==========+=====================================+
  | level                                 | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proto                                 | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | predecessor                           | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | timestamp                             | 8 bytes  | signed 64-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | validation_pass                       | 1 byte   | unsigned 8-bit integer              |
  +---------------------------------------+----------+-------------------------------------+
  | operations_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | # bytes in field "fitness"            | 4 bytes  | unsigned 30-bit integer             |
  +---------------------------------------+----------+-------------------------------------+
  | fitness                               | Variable | sequence of $fitness.elem           |
  +---------------------------------------+----------+-------------------------------------+
  | context                               | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_hash                          | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | payload_round                         | 4 bytes  | signed 32-bit integer               |
  +---------------------------------------+----------+-------------------------------------+
  | proof_of_work_nonce                   | 8 bytes  | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | ? presence of field "seed_nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------------------------------+----------+-------------------------------------+
  | seed_nonce_hash                       | 32 bytes | bytes                               |
  +---------------------------------------+----------+-------------------------------------+
  | per_block_votes                       | 1 byte   | $alpha.per_block_votes              |
  +---------------------------------------+----------+-------------------------------------+
  | signature                             | Variable | bytes                               |
  +---------------------------------------+----------+-------------------------------------+


  alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag)
  ****************************************************************************

  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  alpha.inlined.attestation
  *************************

  +------------+----------------------+---------------------------------------------+
  | Name       | Size                 | Contents                                    |
  +============+======================+=============================================+
  | branch     | 32 bytes             | bytes                                       |
  +------------+----------------------+---------------------------------------------+
  | operations | Determined from data | $alpha.inlined.attestation_mempool.contents |
  +------------+----------------------+---------------------------------------------+
  | signature  | Variable             | bytes                                       |
  +------------+----------------------+---------------------------------------------+


  alpha.operation.alpha.contents (Determined from data, 8-bit tag)
  ****************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_30                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+


  alpha.staker (Determined from data, 8-bit tag)
  **********************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  alpha.bond_id (21 bytes, 8-bit tag)
  ***********************************

  Smart_rollup_bond_id (tag 1)
  ============================

  +--------------+----------+------------------------+
  | Name         | Size     | Contents               |
  +==============+==========+========================+
  | Tag          | 1 byte   | unsigned 8-bit integer |
  +--------------+----------+------------------------+
  | smart_rollup | 20 bytes | bytes                  |
  +--------------+----------+------------------------+


  alpha.frozen_staker (Determined from data, 8-bit tag)
  *****************************************************

  Single (tag 0)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Shared (tag 1)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+


  Baker (tag 2)
  =============

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | baker_own_stake | 21 bytes | $public_key_hash       |
  +-----------------+----------+------------------------+


  Baker_edge (tag 3)
  ==================

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | baker_edge | 21 bytes | $public_key_hash       |
  +------------+----------+------------------------+


  X_41 (Determined from data, 8-bit tag)
  **************************************

  Contract (tag 0)
  ================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Block_fees (tag 2)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Deposits (tag 4)
  ================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.frozen_staker   |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Nonce_revelation_rewards (tag 5)
  ================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Attesting_rewards (tag 7)
  =========================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_rewards (tag 8)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Baking_bonuses (tag 9)
  ======================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Storage_fees (tag 11)
  =====================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Double_signing_punishments (tag 12)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Lost_attesting_rewards (tag 13)
  ===============================

  +---------------+----------+-------------------------------------+
  | Name          | Size     | Contents                            |
  +===============+==========+=====================================+
  | Tag           | 1 byte   | unsigned 8-bit integer              |
  +---------------+----------+-------------------------------------+
  | delegate      | 21 bytes | $public_key_hash                    |
  +---------------+----------+-------------------------------------+
  | participation | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | revelation    | 1 byte   | boolean (0 for false, 255 for true) |
  +---------------+----------+-------------------------------------+
  | change        | 8 bytes  | signed 64-bit integer               |
  +---------------+----------+-------------------------------------+


  Liquidity_baking_subsidies (tag 14)
  ===================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Burned (tag 15)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Commitments (tag 16)
  ====================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | committer | 20 bytes | bytes                  |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Bootstrap (tag 17)
  ==================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Invoice (tag 18)
  ================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Initial_commitments (tag 19)
  ============================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Minted (tag 20)
  ===============

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Frozen_bonds (tag 21)
  =====================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | contract | 22 bytes | $alpha.contract_id     |
  +----------+----------+------------------------+
  | bond_id  | 21 bytes | $alpha.bond_id         |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  Smart_rollup_refutation_punishments (tag 24)
  ============================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Smart_rollup_refutation_rewards (tag 25)
  ========================================

  +--------+---------+------------------------+
  | Name   | Size    | Contents               |
  +========+=========+========================+
  | Tag    | 1 byte  | unsigned 8-bit integer |
  +--------+---------+------------------------+
  | change | 8 bytes | signed 64-bit integer  |
  +--------+---------+------------------------+


  Unstaked_deposits (tag 26)
  ==========================

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | staker | Determined from data | $alpha.staker          |
  +--------+----------------------+------------------------+
  | cycle  | 4 bytes              | signed 32-bit integer  |
  +--------+----------------------+------------------------+
  | change | 8 bytes              | signed 64-bit integer  |
  +--------+----------------------+------------------------+


  Staking_delegator_numerator (tag 27)
  ====================================

  +-----------+----------+------------------------+
  | Name      | Size     | Contents               |
  +===========+==========+========================+
  | Tag       | 1 byte   | unsigned 8-bit integer |
  +-----------+----------+------------------------+
  | delegator | 22 bytes | $alpha.contract_id     |
  +-----------+----------+------------------------+
  | change    | 8 bytes  | signed 64-bit integer  |
  +-----------+----------+------------------------+


  Staking_delegate_denominator (tag 28)
  =====================================

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | delegate | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | change   | 8 bytes  | signed 64-bit integer  |
  +----------+----------+------------------------+


  X_42 (Determined from data, 8-bit tag)
  **************************************

  Block_application (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Protocol_migration (tag 1)
  ==========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Subsidy (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Simulation (tag 3)
  ==================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Delayed_operation (tag 4)
  =========================

  +------------------------+----------+------------------------+
  | Name                   | Size     | Contents               |
  +========================+==========+========================+
  | Tag                    | 1 byte   | unsigned 8-bit integer |
  +------------------------+----------+------------------------+
  | delayed_operation_hash | 32 bytes | bytes                  |
  +------------------------+----------+------------------------+


  X_40
  ****

  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_41    |
  +-----------------+----------------------+----------+
  | Unnamed field 1 | Determined from data | $X_42    |
  +-----------------+----------------------+----------+


  X_43
  ****

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_update (Determined from data, 8-bit tag)
  *****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  alpha.transaction_destination (22 bytes, 8-bit tag)
  ***************************************************

  Implicit (tag 0)
  ================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Signature.Public_key_hash | 21 bytes | $public_key_hash       |
  +---------------------------+----------+------------------------+


  Originated (tag 1)
  ==================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Contract_hash | 20 bytes | bytes                  |
  +---------------+----------+------------------------+
  | padding       | 1 byte   | padding                |
  +---------------+----------+------------------------+


  Smart_rollup (tag 3)
  ====================

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | smart_rollup_address | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+
  | padding              | 1 byte   | padding                |
  +----------------------+----------+------------------------+


  Zk_rollup (tag 4)
  =================

  +----------------+----------+------------------------+
  | Name           | Size     | Contents               |
  +================+==========+========================+
  | Tag            | 1 byte   | unsigned 8-bit integer |
  +----------------+----------+------------------------+
  | Zk_rollup_hash | 20 bytes | bytes                  |
  +----------------+----------+------------------------+
  | padding        | 1 byte   | padding                |
  +----------------+----------+------------------------+


  alpha.operation.alpha.internal_operation_result.event (Determined from data, 8-bit tag)
  ***************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  alpha.operation.alpha.internal_operation_result.delegation (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  sapling.transaction.ciphertext
  ******************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | cv                    | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | epk                   | 32 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | payload_enc           | Variable | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_enc             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | payload_out           | 80 bytes | bytes                   |
  +-----------------------+----------+-------------------------+
  | nonce_out             | 24 bytes | bytes                   |
  +-----------------------+----------+-------------------------+


  X_65
  ****

  +-----------------+----------------------+---------------------------------+
  | Name            | Size                 | Contents                        |
  +=================+======================+=================================+
  | Unnamed field 0 | 32 bytes             | bytes                           |
  +-----------------+----------------------+---------------------------------+
  | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
  +-----------------+----------------------+---------------------------------+


  X_64
  ****

  +-----------------------------+----------+-------------------------+
  | Name                        | Size     | Contents                |
  +=============================+==========+=========================+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | commitments_and_ciphertexts | Variable | sequence of $X_65       |
  +-----------------------------+----------+-------------------------+
  | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
  +-----------------------------+----------+-------------------------+
  | nullifiers                  | Variable | sequence of bytes       |
  +-----------------------------+----------+-------------------------+


  X_70 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_64                  |
  +---------+----------------------+------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +---------+----------------------+------------------------+
  | Name    | Size                 | Contents               |
  +=========+======================+========================+
  | Tag     | 1 byte               | unsigned 8-bit integer |
  +---------+----------------------+------------------------+
  | source  | Determined from data | $Z.t                   |
  +---------+----------------------+------------------------+
  | updates | Determined from data | $X_64                  |
  +---------+----------------------+------------------------+


  alloc (tag 3)
  =============

  +-----------+----------------------+-------------------------+
  | Name      | Size                 | Contents                |
  +===========+======================+=========================+
  | Tag       | 1 byte               | unsigned 8-bit integer  |
  +-----------+----------------------+-------------------------+
  | updates   | Determined from data | $X_64                   |
  +-----------+----------------------+-------------------------+
  | memo_size | 2 bytes              | unsigned 16-bit integer |
  +-----------+----------------------+-------------------------+


  X_71
  ****

  +-----------------------------+----------------------+------------------------------------------+
  | Name                        | Size                 | Contents                                 |
  +=============================+======================+==========================================+
  | key_hash                    | 32 bytes             | bytes                                    |
  +-----------------------------+----------------------+------------------------------------------+
  | key                         | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)      |
  +-----------------------------+----------------------+------------------------------------------+
  | value                       | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------------+----------------------+------------------------------------------+


  X_82 (Determined from data, 8-bit tag)
  **************************************

  update (tag 0)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | updates               | Variable | sequence of $X_71       |
  +-----------------------+----------+-------------------------+


  remove (tag 1)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  copy (tag 2)
  ============

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | Determined from data | $Z.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_71       |
  +-----------------------+----------------------+-------------------------+


  alloc (tag 3)
  =============

  +-----------------------+----------------------+------------------------------------------+
  | Name                  | Size                 | Contents                                 |
  +=======================+======================+==========================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                   |
  +-----------------------+----------------------+------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                  |
  +-----------------------+----------------------+------------------------------------------+
  | updates               | Variable             | sequence of $X_71                        |
  +-----------------------+----------------------+------------------------------------------+
  | key_type              | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+
  | value_type            | Determined from data | $micheline.alpha.michelson_v1.expression |
  +-----------------------+----------------------+------------------------------------------+


  X_83 (Determined from data, 8-bit tag)
  **************************************

  big_map (tag 0)
  ===============

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_82                  |
  +------+----------------------+------------------------+


  sapling_state (tag 1)
  =====================

  +------+----------------------+------------------------+
  | Name | Size                 | Contents               |
  +======+======================+========================+
  | Tag  | 1 byte               | unsigned 8-bit integer |
  +------+----------------------+------------------------+
  | id   | Determined from data | $Z.t                   |
  +------+----------------------+------------------------+
  | diff | Determined from data | $X_70                  |
  +------+----------------------+------------------------+


  alpha.lazy_storage_diff
  ***********************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_83       |
  +-----------------------+----------+-------------------------+


  alpha.operation.alpha.internal_operation_result.origination (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | errors                                                            | Determined from data | $X_43                                     |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  X_110
  *****

  +--------------+----------------------+------------------------------------------+
  | Name         | Size                 | Contents                                 |
  +==============+======================+==========================================+
  | ticketer     | 22 bytes             | $alpha.contract_id                       |
  +--------------+----------------------+------------------------------------------+
  | content_type | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+
  | content      | Determined from data | $micheline.alpha.michelson_v1.expression |
  +--------------+----------------------+------------------------------------------+


  X_113
  *****

  +---------+----------------------+--------------------------------+
  | Name    | Size                 | Contents                       |
  +=========+======================+================================+
  | account | 22 bytes             | $alpha.transaction_destination |
  +---------+----------------------+--------------------------------+
  | amount  | Determined from data | $Z.t                           |
  +---------+----------------------+--------------------------------+


  X_109
  *****

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | ticket_token          | Determined from data | $X_110                  |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | updates               | Variable             | sequence of $X_113      |
  +-----------------------+----------------------+-------------------------+


  X_143 (Determined from data, 8-bit tag)
  ***************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_receipt                                                    | Variable             | sequence of $X_109                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_receipt        | Variable             | sequence of $X_109      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.internal_operation_result.transaction (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_143                 |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_143                              |
  +------------------------------+----------------------+-------------------------------------+


  alpha.apply_internal_results.alpha.operation_result (Determined from data, 8-bit tag)
  *************************************************************************************

  transaction (tag 1)
  ===================

  +----------------------------------+----------------------+--------------------------------------------------------------+
  | Name                             | Size                 | Contents                                                     |
  +==================================+======================+==============================================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer                                       |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | source                           | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                            | 2 bytes              | unsigned 16-bit integer                                      |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | amount                           | Determined from data | $N.t                                                         |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | destination                      | 22 bytes             | $alpha.transaction_destination                               |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | parameters                       | Determined from data | $X_29                                                        |
  +----------------------------------+----------------------+--------------------------------------------------------------+
  | result                           | Determined from data | $alpha.operation.alpha.internal_operation_result.transaction |
  +----------------------------------+----------------------+--------------------------------------------------------------+


  origination (tag 2)
  ===================

  +--------------------------------+----------------------+--------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                     |
  +================================+======================+==============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                       |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                               |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                      |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | balance                        | Determined from data | $N.t                                                         |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                          |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                             |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts                                    |
  +--------------------------------+----------------------+--------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.origination |
  +--------------------------------+----------------------+--------------------------------------------------------------+


  delegation (tag 3)
  ==================

  +--------------------------------+----------------------+-------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                    |
  +================================+======================+=============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                      |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | source                         | 22 bytes             | $alpha.transaction_destination                              |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | nonce                          | 2 bytes              | unsigned 16-bit integer                                     |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true)                         |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                                            |
  +--------------------------------+----------------------+-------------------------------------------------------------+
  | result                         | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation |
  +--------------------------------+----------------------+-------------------------------------------------------------+


  event (tag 4)
  =============

  +-------------------------------+----------------------+--------------------------------------------------------+
  | Name                          | Size                 | Contents                                               |
  +===============================+======================+========================================================+
  | Tag                           | 1 byte               | unsigned 8-bit integer                                 |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | source                        | 22 bytes             | $alpha.transaction_destination                         |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | nonce                         | 2 bytes              | unsigned 16-bit integer                                |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | type                          | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "tag"     | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | tag                           | Determined from data | $alpha.entrypoint                                      |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | ? presence of field "payload" | 1 byte               | boolean (0 for false, 255 for true)                    |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | payload                       | Determined from data | $micheline.alpha.michelson_v1.expression               |
  +-------------------------------+----------------------+--------------------------------------------------------+
  | result                        | Determined from data | $alpha.operation.alpha.internal_operation_result.event |
  +-------------------------------+----------------------+--------------------------------------------------------+


  X_39
  ****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_update         |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_publish (Determined from data, 8-bit tag)
  ******************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_185
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_publish        |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.zk_rollup_origination (Determined from data, 8-bit tag)
  **********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | originated_zk_rollup                                              | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_328
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.zk_rollup_origination    |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_474 (54 bytes, 8-bit tag)
  ***************************

  v0 (tag 0)
  ==========

  +------------+----------+------------------------+
  | Name       | Size     | Contents               |
  +============+==========+========================+
  | Tag        | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | level      | 4 bytes  | signed 32-bit integer  |
  +------------+----------+------------------------+
  | index      | 1 byte   | unsigned 8-bit integer |
  +------------+----------+------------------------+
  | commitment | 48 bytes | bytes                  |
  +------------+----------+------------------------+


  alpha.operation.alpha.operation_result.dal_publish_commitment (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | slot_header       | 54 bytes             | $X_474                 |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | slot_header                  | 54 bytes             | $X_474                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  X_469
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.dal_publish_commitment   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_recover_bond (Determined from data, 8-bit tag)
  **************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_605
  *****

  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                          |
  +===================================================================+======================+===================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                 |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_recover_bond |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                           |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------------------------------+


  X_759 (Determined from data, 8-bit tag)
  ***************************************

  Public (tag 0)
  ==============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Private (tag 1)
  ===============

  +-----------+----------------------+------------------------+
  | Name      | Size                 | Contents               |
  +===========+======================+========================+
  | Tag       | 1 byte               | unsigned 8-bit integer |
  +-----------+----------------------+------------------------+
  | whitelist | Determined from data | $X_28                  |
  +-----------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message (Determined from data, 8-bit tag)
  ************************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_759                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "whitelist_update"                            | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | whitelist_update                                                  | Determined from data | $X_759                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_745
  *****

  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                                    |
  +===================================================================+======================+=============================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                           |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_execute_outbox_message |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                                     |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result            |
  +-------------------------------------------------------------------+----------------------+-----------------------------------------------------------------------------+


  X_905 (1 byte, 8-bit tag)
  *************************

  Conflict_resolved (tag 0)
  =========================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Timeout (tag 1)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_906 (Determined from data, 8-bit tag)
  ***************************************

  Loser (tag 0)
  =============

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | reason | 1 byte   | $X_905                 |
  +--------+----------+------------------------+
  | player | 21 bytes | $public_key_hash       |
  +--------+----------+------------------------+


  Draw (tag 1)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_907 (Determined from data, 8-bit tag)
  ***************************************

  Ongoing (tag 0)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Ended (tag 1)
  =============

  +--------+----------------------+------------------------+
  | Name   | Size                 | Contents               |
  +========+======================+========================+
  | Tag    | 1 byte               | unsigned 8-bit integer |
  +--------+----------------------+------------------------+
  | result | Determined from data | $X_906                 |
  +--------+----------------------+------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_timeout (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | game_status                                                       | Determined from data | $X_907                  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | game_status                                                       | Determined from data | $X_907                              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_900
  *****

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_timeout     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_publish (Determined from data, 8-bit tag)
  *********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | staked_hash                                                       | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | published_at_level                                                | 4 bytes              | signed 32-bit integer               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1199
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_publish     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_cement (Determined from data, 8-bit tag)
  ********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------+----------------------+------------------------+
  | Name              | Size                 | Contents               |
  +===================+======================+========================+
  | Tag               | 1 byte               | unsigned 8-bit integer |
  +-------------------+----------------------+------------------------+
  | consumed_milligas | Determined from data | $N.t                   |
  +-------------------+----------------------+------------------------+
  | inbox_level       | 4 bytes              | signed 32-bit integer  |
  +-------------------+----------------------+------------------------+
  | commitment_hash   | 32 bytes             | bytes                  |
  +-------------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | inbox_level                  | 4 bytes              | signed 32-bit integer               |
  +------------------------------+----------------------+-------------------------------------+
  | commitment_hash              | 32 bytes             | bytes                               |
  +------------------------------+----------------------+-------------------------------------+


  X_1339
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_cement      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_1474
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.event           |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.smart_rollup_originate (Determined from data, 8-bit tag)
  ***********************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | address                                                           | 20 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | size                                                              | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | address                                                           | 20 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | genesis_commitment_hash                                           | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | size                                                              | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1610
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.smart_rollup_originate   |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.transfer_ticket (Determined from data, 8-bit tag)
  ****************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109      |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_1750
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transfer_ticket          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  alpha.operation.alpha.operation_result.register_global_constant (Determined from data, 8-bit tag)
  *************************************************************************************************

  Applied (tag 0)
  ===============

  +-------------------------------------------------------------------+----------------------+-------------------------+
  | Name                                                              | Size                 | Contents                |
  +===================================================================+======================+=========================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer  |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40       |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | storage_size                                                      | Determined from data | $Z.t                    |
  +-------------------------------------------------------------------+----------------------+-------------------------+
  | global_address                                                    | 32 bytes             | bytes                   |
  +-------------------------------------------------------------------+----------------------+-------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | Name                                                              | Size                 | Contents                            |
  +===================================================================+======================+=====================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer              |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors"                                      | 1 byte               | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | errors                                                            | Determined from data | $X_43                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+
  | global_address                                                    | 32 bytes             | bytes                               |
  +-------------------------------------------------------------------+----------------------+-------------------------------------+


  X_2308
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.register_global_constant |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2448
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.delegation      |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2588
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.internal_operation_result.origination     |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_2808 (Determined from data, 8-bit tag)
  ****************************************

  To_contract (tag 0)
  ===================

  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | Name                                                              | Size                 | Contents                                  |
  +===================================================================+======================+===========================================+
  | Tag                                                               | 1 byte               | unsigned 8-bit integer                    |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "storage"                                     | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage                                                           | Determined from data | $micheline.alpha.michelson_v1.expression  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                         |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ticket_updates                                                    | Variable             | sequence of $X_109                        |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                   |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | originated_contracts                                              | Variable             | sequence of $alpha.contract_id.originated |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | consumed_milligas                                                 | Determined from data | $N.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | storage_size                                                      | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | paid_storage_size_diff                                            | Determined from data | $Z.t                                      |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | allocated_destination_contract                                    | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | ? presence of field "lazy_storage_diff"                           | 1 byte               | boolean (0 for false, 255 for true)       |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+
  | lazy_storage_diff                                                 | Determined from data | $alpha.lazy_storage_diff                  |
  +-------------------------------------------------------------------+----------------------+-------------------------------------------+


  To_smart_rollup (tag 2)
  =======================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | consumed_milligas     | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_updates        | Variable             | sequence of $X_109      |
  +-----------------------+----------------------+-------------------------+


  alpha.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
  ************************************************************************************

  Applied (tag 0)
  ===============

  +-----------------+----------------------+------------------------+
  | Name            | Size                 | Contents               |
  +=================+======================+========================+
  | Tag             | 1 byte               | unsigned 8-bit integer |
  +-----------------+----------------------+------------------------+
  | Unnamed field 0 | Determined from data | $X_2808                |
  +-----------------+----------------------+------------------------+


  Failed (tag 1)
  ==============

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | errors                | Variable | sequence of $X_2        |
  +-----------------------+----------+-------------------------+


  Skipped (tag 2)
  ===============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Backtracked (tag 3)
  ===================

  +------------------------------+----------------------+-------------------------------------+
  | Name                         | Size                 | Contents                            |
  +==============================+======================+=====================================+
  | Tag                          | 1 byte               | unsigned 8-bit integer              |
  +------------------------------+----------------------+-------------------------------------+
  | ? presence of field "errors" | 1 byte               | boolean (0 for false, 255 for true) |
  +------------------------------+----------------------+-------------------------------------+
  | errors                       | Determined from data | $X_43                               |
  +------------------------------+----------------------+-------------------------------------+
  | Unnamed field 0              | Determined from data | $X_2808                             |
  +------------------------------+----------------------+-------------------------------------+


  X_2769
  ******

  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | Name                                                              | Size                 | Contents                                                         |
  +===================================================================+======================+==================================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | balance_updates                                                   | Variable             | sequence of $X_40                                                |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | operation_result                                                  | Determined from data | $alpha.operation.alpha.operation_result.transaction              |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | # bytes in next field                                             | 4 bytes              | unsigned 30-bit integer                                          |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+
  | internal_operation_results                                        | Variable             | sequence of $alpha.apply_internal_results.alpha.operation_result |
  +-------------------------------------------------------------------+----------------------+------------------------------------------------------------------+


  X_3107
  ******

  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | Name                                                              | Size     | Contents                                                     |
  +===================================================================+==========+==============================================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer                                      |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                                            |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | delegate                                                          | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_power                                                   | 4 bytes  | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+
  | consensus_key                                                     | 21 bytes | $public_key_hash                                             |
  +-------------------------------------------------------------------+----------+--------------------------------------------------------------+


  X_3119
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | allocated_destination_contract                                    | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation_metadata.alpha.balance_updates
  **********************************************

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_40       |
  +-----------------------+----------+-------------------------+


  X_3127
  ******

  +-------------------------------------------------------------------+----------+-------------------------------------+
  | Name                                                              | Size     | Contents                            |
  +===================================================================+==========+=====================================+
  | ? presence of field "forbidden_delegate"                          | 1 byte   | boolean (0 for false, 255 for true) |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | forbidden_delegate                                                | 21 bytes | $public_key_hash                    |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | # bytes in field "alpha.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer             |
  +-------------------------------------------------------------------+----------+-------------------------------------+
  | balance_updates                                                   | Variable | sequence of $X_40                   |
  +-------------------------------------------------------------------+----------+-------------------------------------+


  alpha.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
  *************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | level    | 4 bytes              | signed 32-bit integer                           |
  +----------+----------------------+-------------------------------------------------+
  | nonce    | 32 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------------------+----------------------------+
  | Name                  | Size                 | Contents                   |
  +=======================+======================+============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer     |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op1                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer    |
  +-----------------------+----------------------+----------------------------+
  | op2                   | Variable             | $alpha.inlined.attestation |
  +-----------------------+----------------------+----------------------------+
  | metadata              | Determined from data | $X_3127                    |
  +-----------------------+----------------------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------------------+---------------------------------------+
  | Name                  | Size                 | Contents                              |
  +=======================+======================+=======================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh1                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer               |
  +-----------------------+----------------------+---------------------------------------+
  | bh2                   | Variable             | $alpha.block_header.alpha.full_header |
  +-----------------------+----------------------+---------------------------------------+
  | metadata              | Determined from data | $X_3127                               |
  +-----------------------+----------------------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | pkh      | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | secret   | 20 bytes             | bytes                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------------------+-------------------------------+
  | Name                  | Size                 | Contents                      |
  +=======================+======================+===============================+
  | Tag                   | 1 byte               | unsigned 8-bit integer        |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op1                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer       |
  +-----------------------+----------------------+-------------------------------+
  | op2                   | Variable             | $alpha.inlined.preattestation |
  +-----------------------+----------------------+-------------------------------+
  | metadata              | Determined from data | $X_3127                       |
  +-----------------------+----------------------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+----------------------+-------------------------------------------------+
  | Name     | Size                 | Contents                                        |
  +==========+======================+=================================================+
  | Tag      | 1 byte               | unsigned 8-bit integer                          |
  +----------+----------------------+-------------------------------------------------+
  | solution | 200 bytes            | $X_30                                           |
  +----------+----------------------+-------------------------------------------------+
  | metadata | Determined from data | $alpha.operation_metadata.alpha.balance_updates |
  +----------+----------------------+-------------------------------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | consensus_key | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | delegate      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | destination   | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_3119                |
  +---------------+----------------------+------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+
  | metadata           | Determined from data | $X_3107                 |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1474                |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_2769                             |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2588                             |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_2448                             |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_2308                 |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | metadata                    | Determined from data | $X_1474                             |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+
  | metadata      | Determined from data | $X_605                        |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1474                |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1750                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | metadata                        | Determined from data | $X_1610                                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_1474                 |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1339                |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_1199                |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_900                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_900                 |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_745                  |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_605                 |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_469                 |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | metadata              | Determined from data | $X_328                                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+
  | metadata              | Determined from data | $X_185                  |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+
  | metadata      | Determined from data | $X_39                  |
  +---------------+----------------------+------------------------+


  X_3145 (Variable, 8-bit tag)
  ****************************

  Operation_with_metadata (tag 0)
  ===============================

  +-----------------------+----------+------------------------------------------------------------------+
  | Name                  | Size     | Contents                                                         |
  +=======================+==========+==================================================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                                           |
  +-----------------------+----------+------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                          |
  +-----------------------+----------+------------------------------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.operation_contents_and_result |
  +-----------------------+----------+------------------------------------------------------------------+
  | signature             | Variable | bytes                                                            |
  +-----------------------+----------+------------------------------------------------------------------+


  Operation_without_metadata (tag 1)
  ==================================

  +-----------------------+----------+---------------------------------------------+
  | Name                  | Size     | Contents                                    |
  +=======================+==========+=============================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                      |
  +-----------------------+----------+---------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                     |
  +-----------------------+----------+---------------------------------------------+
  | contents              | Variable | sequence of $alpha.operation.alpha.contents |
  +-----------------------+----------+---------------------------------------------+
  | signature             | Variable | bytes                                       |
  +-----------------------+----------+---------------------------------------------+


  bls_signature_prefix (33 bytes, 8-bit tag)
  ******************************************

  Bls_prefix (tag 3)
  ==================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | 32 bytes | bytes                  |
  +-----------------+----------+------------------------+


  alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag)
  ************************************************************************************

  Seed_nonce_revelation (tag 1)
  =============================

  +-------+----------+------------------------+
  | Name  | Size     | Contents               |
  +=======+==========+========================+
  | Tag   | 1 byte   | unsigned 8-bit integer |
  +-------+----------+------------------------+
  | level | 4 bytes  | signed 32-bit integer  |
  +-------+----------+------------------------+
  | nonce | 32 bytes | bytes                  |
  +-------+----------+------------------------+


  Double_attestation_evidence (tag 2)
  ===================================

  +-----------------------+----------+----------------------------+
  | Name                  | Size     | Contents                   |
  +=======================+==========+============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer     |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op1                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer    |
  +-----------------------+----------+----------------------------+
  | op2                   | Variable | $alpha.inlined.attestation |
  +-----------------------+----------+----------------------------+


  Double_baking_evidence (tag 3)
  ==============================

  +-----------------------+----------+---------------------------------------+
  | Name                  | Size     | Contents                              |
  +=======================+==========+=======================================+
  | Tag                   | 1 byte   | unsigned 8-bit integer                |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh1                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer               |
  +-----------------------+----------+---------------------------------------+
  | bh2                   | Variable | $alpha.block_header.alpha.full_header |
  +-----------------------+----------+---------------------------------------+


  Activate_account (tag 4)
  ========================

  +--------+----------+------------------------+
  | Name   | Size     | Contents               |
  +========+==========+========================+
  | Tag    | 1 byte   | unsigned 8-bit integer |
  +--------+----------+------------------------+
  | pkh    | 20 bytes | bytes                  |
  +--------+----------+------------------------+
  | secret | 20 bytes | bytes                  |
  +--------+----------+------------------------+


  Proposals (tag 5)
  =================

  +-----------------------+----------+------------------------------+
  | Name                  | Size     | Contents                     |
  +=======================+==========+==============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer       |
  +-----------------------+----------+------------------------------+
  | source                | 21 bytes | $public_key_hash             |
  +-----------------------+----------+------------------------------+
  | period                | 4 bytes  | signed 32-bit integer        |
  +-----------------------+----------+------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer      |
  +-----------------------+----------+------------------------------+
  | proposals             | Variable | sequence of at most 20 bytes |
  +-----------------------+----------+------------------------------+


  Ballot (tag 6)
  ==============

  +----------+----------+------------------------+
  | Name     | Size     | Contents               |
  +==========+==========+========================+
  | Tag      | 1 byte   | unsigned 8-bit integer |
  +----------+----------+------------------------+
  | source   | 21 bytes | $public_key_hash       |
  +----------+----------+------------------------+
  | period   | 4 bytes  | signed 32-bit integer  |
  +----------+----------+------------------------+
  | proposal | 32 bytes | bytes                  |
  +----------+----------+------------------------+
  | ballot   | 1 byte   | signed 8-bit integer   |
  +----------+----------+------------------------+


  Double_preattestation_evidence (tag 7)
  ======================================

  +-----------------------+----------+-------------------------------+
  | Name                  | Size     | Contents                      |
  +=======================+==========+===============================+
  | Tag                   | 1 byte   | unsigned 8-bit integer        |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op1                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer       |
  +-----------------------+----------+-------------------------------+
  | op2                   | Variable | $alpha.inlined.preattestation |
  +-----------------------+----------+-------------------------------+


  Vdf_revelation (tag 8)
  ======================

  +----------+-----------+------------------------+
  | Name     | Size      | Contents               |
  +==========+===========+========================+
  | Tag      | 1 byte    | unsigned 8-bit integer |
  +----------+-----------+------------------------+
  | solution | 200 bytes | $X_30                  |
  +----------+-----------+------------------------+


  Drain_delegate (tag 9)
  ======================

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | consensus_key | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | delegate      | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+
  | destination   | 21 bytes | $public_key_hash       |
  +---------------+----------+------------------------+


  Failing_noop (tag 17)
  =====================

  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | Tag                   | 1 byte   | unsigned 8-bit integer  |
  +-----------------------+----------+-------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | arbitrary             | Variable | bytes                   |
  +-----------------------+----------+-------------------------+


  Preattestation (tag 20)
  =======================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation (tag 21)
  ====================

  +--------------------+----------+-------------------------+
  | Name               | Size     | Contents                |
  +====================+==========+=========================+
  | Tag                | 1 byte   | unsigned 8-bit integer  |
  +--------------------+----------+-------------------------+
  | slot               | 2 bytes  | unsigned 16-bit integer |
  +--------------------+----------+-------------------------+
  | level              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | round              | 4 bytes  | signed 32-bit integer   |
  +--------------------+----------+-------------------------+
  | block_payload_hash | 32 bytes | bytes                   |
  +--------------------+----------+-------------------------+


  Attestation_with_dal (tag 23)
  =============================

  +--------------------+----------------------+-------------------------+
  | Name               | Size                 | Contents                |
  +====================+======================+=========================+
  | Tag                | 1 byte               | unsigned 8-bit integer  |
  +--------------------+----------------------+-------------------------+
  | slot               | 2 bytes              | unsigned 16-bit integer |
  +--------------------+----------------------+-------------------------+
  | level              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | round              | 4 bytes              | signed 32-bit integer   |
  +--------------------+----------------------+-------------------------+
  | block_payload_hash | 32 bytes             | bytes                   |
  +--------------------+----------------------+-------------------------+
  | dal_attestation    | Determined from data | $Z.t                    |
  +--------------------+----------------------+-------------------------+


  Reveal (tag 107)
  ================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | public_key    | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transaction (tag 108)
  =====================

  +----------------------------------+----------------------+-------------------------------------+
  | Name                             | Size                 | Contents                            |
  +==================================+======================+=====================================+
  | Tag                              | 1 byte               | unsigned 8-bit integer              |
  +----------------------------------+----------------------+-------------------------------------+
  | source                           | 21 bytes             | $public_key_hash                    |
  +----------------------------------+----------------------+-------------------------------------+
  | fee                              | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | counter                          | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | gas_limit                        | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | storage_limit                    | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | amount                           | Determined from data | $N.t                                |
  +----------------------------------+----------------------+-------------------------------------+
  | destination                      | 22 bytes             | $alpha.contract_id                  |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_29                               |
  +----------------------------------+----------------------+-------------------------------------+


  Origination (tag 109)
  =====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | balance                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | script                         | Determined from data | $alpha.scripted.contracts           |
  +--------------------------------+----------------------+-------------------------------------+


  Delegation (tag 110)
  ====================

  +--------------------------------+----------------------+-------------------------------------+
  | Name                           | Size                 | Contents                            |
  +================================+======================+=====================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer              |
  +--------------------------------+----------------------+-------------------------------------+
  | source                         | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+
  | fee                            | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | counter                        | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | gas_limit                      | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | storage_limit                  | Determined from data | $N.t                                |
  +--------------------------------+----------------------+-------------------------------------+
  | ? presence of field "delegate" | 1 byte               | boolean (0 for false, 255 for true) |
  +--------------------------------+----------------------+-------------------------------------+
  | delegate                       | 21 bytes             | $public_key_hash                    |
  +--------------------------------+----------------------+-------------------------------------+


  Register_global_constant (tag 111)
  ==================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | value                 | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Set_deposits_limit (tag 112)
  ============================

  +-----------------------------+----------------------+-------------------------------------+
  | Name                        | Size                 | Contents                            |
  +=============================+======================+=====================================+
  | Tag                         | 1 byte               | unsigned 8-bit integer              |
  +-----------------------------+----------------------+-------------------------------------+
  | source                      | 21 bytes             | $public_key_hash                    |
  +-----------------------------+----------------------+-------------------------------------+
  | fee                         | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | counter                     | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | gas_limit                   | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | storage_limit               | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+
  | ? presence of field "limit" | 1 byte               | boolean (0 for false, 255 for true) |
  +-----------------------------+----------------------+-------------------------------------+
  | limit                       | Determined from data | $N.t                                |
  +-----------------------------+----------------------+-------------------------------------+


  Increase_paid_storage (tag 113)
  ===============================

  +---------------+----------------------+-------------------------------+
  | Name          | Size                 | Contents                      |
  +===============+======================+===============================+
  | Tag           | 1 byte               | unsigned 8-bit integer        |
  +---------------+----------------------+-------------------------------+
  | source        | 21 bytes             | $public_key_hash              |
  +---------------+----------------------+-------------------------------+
  | fee           | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | counter       | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | gas_limit     | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | storage_limit | Determined from data | $N.t                          |
  +---------------+----------------------+-------------------------------+
  | amount        | Determined from data | $Z.t                          |
  +---------------+----------------------+-------------------------------+
  | destination   | 22 bytes             | $alpha.contract_id.originated |
  +---------------+----------------------+-------------------------------+


  Update_consensus_key (tag 114)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | pk            | Determined from data | $public_key            |
  +---------------+----------------------+------------------------+


  Transfer_ticket (tag 158)
  =========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_contents       | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | ticket_ty             | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | ticket_ticketer       | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | ticket_amount         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | destination           | 22 bytes             | $alpha.contract_id      |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | entrypoint            | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_originate (tag 200)
  ================================

  +---------------------------------+----------------------+-----------------------------------------------------------+
  | Name                            | Size                 | Contents                                                  |
  +=================================+======================+===========================================================+
  | Tag                             | 1 byte               | unsigned 8-bit integer                                    |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | source                          | 21 bytes             | $public_key_hash                                          |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | fee                             | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | counter                         | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | gas_limit                       | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | storage_limit                   | Determined from data | $N.t                                                      |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | pvm_kind                        | 1 byte               | unsigned 8-bit integer encoding an enumeration (see X_27) |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | kernel                          | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | # bytes in next field           | 4 bytes              | unsigned 30-bit integer                                   |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | parameters_ty                   | Variable             | bytes                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | ? presence of field "whitelist" | 1 byte               | boolean (0 for false, 255 for true)                       |
  +---------------------------------+----------------------+-----------------------------------------------------------+
  | whitelist                       | Determined from data | $X_28                                                     |
  +---------------------------------+----------------------+-----------------------------------------------------------+


  Smart_rollup_add_messages (tag 201)
  ===================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | message               | Variable             | sequence of $X_2        |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_cement (tag 202)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_publish (tag 203)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | commitment    | 76 bytes             | $X_25                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_refute (tag 204)
  =============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | opponent      | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | refutation    | Determined from data | $X_24                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_timeout (tag 205)
  ==============================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | stakers       | 42 bytes             | $X_18                  |
  +---------------+----------------------+------------------------+


  Smart_rollup_execute_outbox_message (tag 206)
  =============================================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | rollup                | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | cemented_commitment   | 32 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | output_proof          | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+


  Smart_rollup_recover_bond (tag 207)
  ===================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | rollup        | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | staker        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+


  Dal_publish_commitment (tag 230)
  ================================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | slot_header   | 145 bytes            | $X_17                  |
  +---------------+----------------------+------------------------+


  Zk_rollup_origination (tag 250)
  ===============================

  +-----------------------+----------------------+--------------------------------------------------------------+
  | Name                  | Size                 | Contents                                                     |
  +=======================+======================+==============================================================+
  | Tag                   | 1 byte               | unsigned 8-bit integer                                       |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | source                | 21 bytes             | $public_key_hash                                             |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | fee                   | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | counter               | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | gas_limit             | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | storage_limit         | Determined from data | $N.t                                                         |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | public_parameters     | Variable             | bytes                                                        |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | circuits_info         | Variable             | sequence of $X_14                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                      |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | init_state            | Variable             | sequence of bytes                                            |
  +-----------------------+----------------------+--------------------------------------------------------------+
  | nb_ops                | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------------+----------------------+--------------------------------------------------------------+


  Zk_rollup_publish (tag 251)
  ===========================

  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | Tag                   | 1 byte               | unsigned 8-bit integer  |
  +-----------------------+----------------------+-------------------------+
  | source                | 21 bytes             | $public_key_hash        |
  +-----------------------+----------------------+-------------------------+
  | fee                   | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | counter               | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | gas_limit             | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | storage_limit         | Determined from data | $N.t                    |
  +-----------------------+----------------------+-------------------------+
  | zk_rollup             | 20 bytes             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | op                    | Variable             | sequence of $X_8        |
  +-----------------------+----------------------+-------------------------+


  Zk_rollup_update (tag 252)
  ==========================

  +---------------+----------------------+------------------------+
  | Name          | Size                 | Contents               |
  +===============+======================+========================+
  | Tag           | 1 byte               | unsigned 8-bit integer |
  +---------------+----------------------+------------------------+
  | source        | 21 bytes             | $public_key_hash       |
  +---------------+----------------------+------------------------+
  | fee           | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | counter       | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | gas_limit     | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | storage_limit | Determined from data | $N.t                   |
  +---------------+----------------------+------------------------+
  | zk_rollup     | 20 bytes             | bytes                  |
  +---------------+----------------------+------------------------+
  | update        | Determined from data | $X_0                   |
  +---------------+----------------------+------------------------+


  Signature_prefix (tag 255)
  ==========================

  +------------------+----------+------------------------+
  | Name             | Size     | Contents               |
  +==================+==========+========================+
  | Tag              | 1 byte   | unsigned 8-bit integer |
  +------------------+----------+------------------------+
  | signature_prefix | 33 bytes | $bls_signature_prefix  |
  +------------------+----------+------------------------+


  X_3208 (Variable, 8-bit tag)
  ****************************

  Operation with too large metadata (tag 0)
  =========================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation without metadata (tag 1)
  ==================================

  +-------------------------------+----------+-----------------------------------------------------------------+
  | Name                          | Size     | Contents                                                        |
  +===============================+==========+=================================================================+
  | Tag                           | 1 byte   | unsigned 8-bit integer                                          |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix |
  +-------------------------------+----------+-----------------------------------------------------------------+
  | signature_suffix              | 64 bytes | bytes                                                           |
  +-------------------------------+----------+-----------------------------------------------------------------+


  Operation with metadata (tag 2)
  ===============================

  +-----------------+----------+------------------------+
  | Name            | Size     | Contents               |
  +=================+==========+========================+
  | Tag             | 1 byte   | unsigned 8-bit integer |
  +-----------------+----------+------------------------+
  | Unnamed field 0 | Variable | $X_3145                |
  +-----------------+----------+------------------------+

  

GET ../<block_id>/operations_metadata_hash

GET ../<block_id>/protocols

Current and next protocol.

  { "protocol": $Protocol_hash,
    "next_protocol": $Protocol_hash }
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +---------------+----------+----------+
  | Name          | Size     | Contents |
  +===============+==========+==========+
  | protocol      | 32 bytes | bytes    |
  +---------------+----------+----------+
  | next_protocol | 32 bytes | bytes    |
  +---------------+----------+----------+


  

GET ../<block_id>/resulting_context_hash

Context hash resulting of the block application.

  $unistring
  /* A hash of context (Base58Check-encoded) */
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +--------------+----------+----------+
  | Name         | Size     | Contents |
  +==============+==========+==========+
  | Context_hash | 32 bytes | bytes    |
  +--------------+----------+----------+


  

GET ../<block_id>/votes/ballot_list

Ballots casted so far during a voting period.

  [ { "pkh": $Signature.Public_key_hash,
      "ballot": "nay" | "yay" | "pass" } ... ]
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_0
  ***

  +--------+----------+----------------------+
  | Name   | Size     | Contents             |
  +========+==========+======================+
  | pkh    | 21 bytes | $public_key_hash     |
  +--------+----------+----------------------+
  | ballot | 1 byte   | signed 8-bit integer |
  +--------+----------+----------------------+

  

GET ../<block_id>/votes/ballots

Sum of ballots casted so far during a voting period.

  { "yay": $int64,
    "nay": $int64,
    "pass": $int64 }
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  +------+---------+-----------------------+
  | Name | Size    | Contents              |
  +======+=========+=======================+
  | yay  | 8 bytes | signed 64-bit integer |
  +------+---------+-----------------------+
  | nay  | 8 bytes | signed 64-bit integer |
  +------+---------+-----------------------+
  | pass | 8 bytes | signed 64-bit integer |
  +------+---------+-----------------------+


  

GET ../<block_id>/votes/current_period

Returns the voting period (index, kind, starting position) and related information (position, remaining) of the interrogated block.

  { "voting_period":
      { /* The voting period to which the block belongs. */
        "index":
          integer ∈ [-2^31-1, 2^31]
          /* The voting period's index. Starts at 0 with the first block of
             the Alpha family of protocols. */,
        "kind":
          /* One of the several kinds of periods in the voting procedure. */
          "proposal"
          || "exploration"
          || "cooldown"
          || "promotion"
          || "adoption",
        "start_position":
          integer ∈ [-2^31-1, 2^31]
          /* The relative position of the first level of the period with
             respect to the first level of the Alpha family of protocols. */ },
    "position":
      integer ∈ [-2^31-1, 2^31]
      /* The position of the block within the voting period. */,
    "remaining":
      integer ∈ [-2^31-1, 2^31]
      /* The number of blocks remaining till the end of the voting period. */ }
  +---------------+---------+-----------------------+
  | Name          | Size    | Contents              |
  +===============+=========+=======================+
  | voting_period | 9 bytes | $X_0                  |
  +---------------+---------+-----------------------+
  | position      | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+
  | remaining     | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+


  X_1 (1 byte, 8-bit tag)
  ***********************

  Proposal (tag 0)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  exploration (tag 1)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Cooldown (tag 2)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Promotion (tag 3)
  =================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Adoption (tag 4)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_0
  ***

  +----------------+---------+-----------------------+
  | Name           | Size    | Contents              |
  +================+=========+=======================+
  | index          | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+
  | kind           | 1 byte  | $X_1                  |
  +----------------+---------+-----------------------+
  | start_position | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+

  

GET ../<block_id>/votes/current_proposal

Current proposal under evaluation.

  $Protocol_hash /* Some */ || null /* None */
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------+----------------------+----------+
  | Name            | Size                 | Contents |
  +=================+======================+==========+
  | Unnamed field 0 | Determined from data | $X_0     |
  +-----------------+----------------------+----------+


  X_0 (Determined from data, 8-bit tag)
  *************************************

  None (tag 0)
  ============

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Some (tag 1)
  ============

  +---------------+----------+------------------------+
  | Name          | Size     | Contents               |
  +===============+==========+========================+
  | Tag           | 1 byte   | unsigned 8-bit integer |
  +---------------+----------+------------------------+
  | Protocol_hash | 32 bytes | bytes                  |
  +---------------+----------+------------------------+

  

GET ../<block_id>/votes/current_quorum

Current expected quorum.

  integer ∈ [-2^31-1, 2^31]
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/votes/listings

List of delegates with their voting power.

  [ { "pkh": $Signature.Public_key_hash,
      "voting_power": $int64 } ... ]
  $Signature.Public_key_hash:
    /* A Ed25519, Secp256k1, P256, or BLS public key hash
       (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  public_key_hash (21 bytes, 8-bit tag)
  *************************************

  Ed25519 (tag 0)
  ===============

  +-------------------------+----------+------------------------+
  | Name                    | Size     | Contents               |
  +=========================+==========+========================+
  | Tag                     | 1 byte   | unsigned 8-bit integer |
  +-------------------------+----------+------------------------+
  | Ed25519.Public_key_hash | 20 bytes | bytes                  |
  +-------------------------+----------+------------------------+


  Secp256k1 (tag 1)
  =================

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Secp256k1.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  P256 (tag 2)
  ============

  +----------------------+----------+------------------------+
  | Name                 | Size     | Contents               |
  +======================+==========+========================+
  | Tag                  | 1 byte   | unsigned 8-bit integer |
  +----------------------+----------+------------------------+
  | P256.Public_key_hash | 20 bytes | bytes                  |
  +----------------------+----------+------------------------+


  Bls (tag 3)
  ===========

  +---------------------------+----------+------------------------+
  | Name                      | Size     | Contents               |
  +===========================+==========+========================+
  | Tag                       | 1 byte   | unsigned 8-bit integer |
  +---------------------------+----------+------------------------+
  | Bls12_381.Public_key_hash | 20 bytes | bytes                  |
  +---------------------------+----------+------------------------+


  X_0
  ***

  +--------------+----------+-----------------------+
  | Name         | Size     | Contents              |
  +==============+==========+=======================+
  | pkh          | 21 bytes | $public_key_hash      |
  +--------------+----------+-----------------------+
  | voting_power | 8 bytes  | signed 64-bit integer |
  +--------------+----------+-----------------------+

  

GET ../<block_id>/votes/proposal_count/<pkh>

Number of votes casted during the current period.

  integer ∈ [-2^30, 2^30]
  +-----------------+---------+--------------------------------------------------------------+
  | Name            | Size    | Contents                                                     |
  +=================+=========+==============================================================+
  | Unnamed field 0 | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+---------+--------------------------------------------------------------+


  

GET ../<block_id>/votes/proposals

List of proposals with number of supporters.

  [ [ $Protocol_hash, $int64 ] ... ]
  $Protocol_hash:
    /* A Tezos protocol ID (Base58Check-encoded) */
    $unistring
  $int64:
    /* 64 bit integers
       Decimal representation of 64 bit integers */
    string
  $unistring:
    /* Universal string representation
       Either a plain UTF8 string, or a sequence of bytes for strings that
       contain invalid byte sequences. */
    string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
  +-----------------------+----------+-------------------------+
  | Name                  | Size     | Contents                |
  +=======================+==========+=========================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
  +-----------------------+----------+-------------------------+
  | Unnamed field 0       | Variable | sequence of $X_0        |
  +-----------------------+----------+-------------------------+


  X_0
  ***

  +-----------------+----------+-----------------------+
  | Name            | Size     | Contents              |
  +=================+==========+=======================+
  | Unnamed field 0 | 32 bytes | bytes                 |
  +-----------------+----------+-----------------------+
  | Unnamed field 1 | 8 bytes  | signed 64-bit integer |
  +-----------------+----------+-----------------------+

  

GET ../<block_id>/votes/successor_period

Returns the voting period (index, kind, starting position) and related information (position, remaining) of the next block.Useful to craft operations that will be valid in the next block.

  { "voting_period":
      { /* The voting period to which the block belongs. */
        "index":
          integer ∈ [-2^31-1, 2^31]
          /* The voting period's index. Starts at 0 with the first block of
             the Alpha family of protocols. */,
        "kind":
          /* One of the several kinds of periods in the voting procedure. */
          "proposal"
          || "exploration"
          || "cooldown"
          || "promotion"
          || "adoption",
        "start_position":
          integer ∈ [-2^31-1, 2^31]
          /* The relative position of the first level of the period with
             respect to the first level of the Alpha family of protocols. */ },
    "position":
      integer ∈ [-2^31-1, 2^31]
      /* The position of the block within the voting period. */,
    "remaining":
      integer ∈ [-2^31-1, 2^31]
      /* The number of blocks remaining till the end of the voting period. */ }
  +---------------+---------+-----------------------+
  | Name          | Size    | Contents              |
  +===============+=========+=======================+
  | voting_period | 9 bytes | $X_0                  |
  +---------------+---------+-----------------------+
  | position      | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+
  | remaining     | 4 bytes | signed 32-bit integer |
  +---------------+---------+-----------------------+


  X_1 (1 byte, 8-bit tag)
  ***********************

  Proposal (tag 0)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  exploration (tag 1)
  ===================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Cooldown (tag 2)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Promotion (tag 3)
  =================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  Adoption (tag 4)
  ================

  +------+--------+------------------------+
  | Name | Size   | Contents               |
  +======+========+========================+
  | Tag  | 1 byte | unsigned 8-bit integer |
  +------+--------+------------------------+


  X_0
  ***

  +----------------+---------+-----------------------+
  | Name           | Size    | Contents              |
  +================+=========+=======================+
  | index          | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+
  | kind           | 1 byte  | $X_1                  |
  +----------------+---------+-----------------------+
  | start_position | 4 bytes | signed 32-bit integer |
  +----------------+---------+-----------------------+

  

GET ../<block_id>/votes/total_voting_power

Total voting power in the voting listings.

  string
  /* 64 bit integers
     Decimal representation of 64 bit integers */
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 8 bytes | signed 64-bit integer |
  +-----------------+---------+-----------------------+