.. raw:: html .. raw:: html .. _rpc_index_008 : RPCs - Index ************ .. include:: /include/rpc_introduction.rst.inc Protocol 008 Edo ================ * ../ (`GET `_) * ..//context * ..//context/big_maps * ..//context/big_maps/ * ..//context/big_maps// (`GET `_) * ..//context/constants (`GET `_) * ..//context/constants/errors (`GET `_) * ..//context/contracts (`GET `_) * ..//context/contracts/ (`GET `_) * ..//context/contracts//balance (`GET `_) * ..//context/contracts//big_map_get (`POST `_) * ..//context/contracts//counter (`GET `_) * ..//context/contracts//delegate (`GET `_) * ..//context/contracts//entrypoints (`GET `_) * ..//context/contracts//entrypoints/ (`GET `_) * ..//context/contracts//manager_key (`GET `_) * ..//context/contracts//script (`GET `_) * ..//context/contracts//single_sapling_get_diff (`GET `_) * ..//context/contracts//storage (`GET `_) * ..//context/delegates (`GET `_) * ..//context/delegates/ (`GET `_) * ..//context/delegates//balance (`GET `_) * ..//context/delegates//deactivated (`GET `_) * ..//context/delegates//delegated_balance (`GET `_) * ..//context/delegates//delegated_contracts (`GET `_) * ..//context/delegates//frozen_balance (`GET `_) * ..//context/delegates//frozen_balance_by_cycle (`GET `_) * ..//context/delegates//grace_period (`GET `_) * ..//context/delegates//staking_balance (`GET `_) * ..//context/delegates//voting_power (`GET `_) * ..//context/nonces * ..//context/nonces/ (`GET `_) * ..//context/raw * ..//context/raw/bytes (`GET `_) * ..//context/raw/json () * ..//context/sapling * ..//context/sapling/ * ..//context/sapling//get_diff (`GET `_) * ..//context/seed (`POST `_) * ..//endorsing_power (`POST `_) * ..//hash (`GET `_) * ..//header (`GET `_) * ..//header/protocol_data (`GET `_) * ..//header/protocol_data/raw (`GET `_) * ..//header/raw (`GET `_) * ..//header/shell (`GET `_) * ..//helpers * ..//helpers/baking_rights (`GET `_) * ..//helpers/complete * ..//helpers/complete/ (`GET `_) * ..//helpers/current_level (`GET `_) * ..//helpers/endorsing_rights (`GET `_) * ..//helpers/forge * ..//helpers/forge/operations (`POST `_) * ..//helpers/forge/protocol_data (`POST `_) * ..//helpers/forge_block_header (`POST `_) * ..//helpers/levels_in_current_cycle (`GET `_) * ..//helpers/parse * ..//helpers/parse/block (`POST `_) * ..//helpers/parse/operations (`POST `_) * ..//helpers/preapply * ..//helpers/preapply/block (`POST `_) * ..//helpers/preapply/operations (`POST `_) * ..//helpers/scripts * ..//helpers/scripts/entrypoint (`POST `_) * ..//helpers/scripts/entrypoints (`POST `_) * ..//helpers/scripts/pack_data (`POST `_) * ..//helpers/scripts/run_code (`POST `_) * ..//helpers/scripts/run_operation (`POST `_) * ..//helpers/scripts/trace_code (`POST `_) * ..//helpers/scripts/typecheck_code (`POST `_) * ..//helpers/scripts/typecheck_data (`POST `_) * ..//live_blocks (`GET `_) * ..//metadata (`GET `_) * ..//metadata_hash (`GET `_) * ..//minimal_valid_time (`GET `_) * ..//operation_hashes (`GET `_) * ..//operation_hashes/ (`GET `_) * ..//operation_hashes// (`GET `_) * ..//operation_metadata_hashes (`GET `_) * ..//operation_metadata_hashes/ (`GET `_) * ..//operation_metadata_hashes// (`GET `_) * ..//operations (`GET `_) * ..//operations/ (`GET `_) * ..//operations// (`GET `_) * ..//operations_metadata_hash (`GET `_) * ..//protocols (`GET `_) * ..//required_endorsements (`GET `_) * ..//votes * ..//votes/ballot_list (`GET `_) * ..//votes/ballots (`GET `_) * ..//votes/current_period (`GET `_) * ..//votes/current_period_kind (`GET `_) * ..//votes/current_proposal (`GET `_) * ..//votes/current_quorum (`GET `_) * ..//votes/listings (`GET `_) * ..//votes/proposals (`GET `_) * ..//votes/successor_period (`GET `_) * ..//votes/total_voting_power (`GET `_) RPCs - Full description *********************** Protocol 008 Edo ================ .. _GET_..--block_id : **GET ../** .. raw:: html

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.

    { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
      "chain_id": $Chain_id,
      "hash": $block_hash,
      "header": $raw_block_header,
      "metadata"?: $block_header_metadata,
      "operations": [ [ $operation ... ] ... ] }
    $008-PtEdo2Zk.big_map_id:
      /* Big map identifier
         A big map identifier */
      $bignum
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.lazy_storage_diff:
      [ { /* big_map */
          "kind": "big_map",
          "id": $008-PtEdo2Zk.big_map_id,
          "diff":
            { /* update */
              "action": "update",
              "updates":
                [ { "key_hash": $script_expr,
                    "key":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value"?:
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ] }
            || { /* remove */
                 "action": "remove" }
            || { /* copy */
                 "action": "copy",
                 "source": $008-PtEdo2Zk.big_map_id,
                 "updates":
                   [ { "key_hash": $script_expr,
                       "key":
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] },
                       "value"?:
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] } } ... ] }
            || { /* alloc */
                 "action": "alloc",
                 "updates":
                   [ { "key_hash": $script_expr,
                       "key":
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] },
                       "value"?:
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] } } ... ],
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } }
        || { /* sapling_state */
             "kind": "sapling_state",
             "id": $008-PtEdo2Zk.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": $008-PtEdo2Zk.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] } } ... ]
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.operation.alpha.contents_and_signature:
      { "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
        "signature": $Signature }
    $008-PtEdo2Zk.operation.alpha.internal_operation_result:
      { /* reveal */
        "kind": "reveal",
        "source": $008-PtEdo2Zk.contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key": $Signature.Public_key,
        "result": $008-PtEdo2Zk.operation.alpha.operation_result.reveal }
      || { /* transaction */
           "kind": "transaction",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } },
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.transaction }
      || { /* origination */
           "kind": "origination",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts,
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.origination }
      || { /* delegation */
           "kind": "delegation",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?: $Signature.Public_key_hash,
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.delegation }
    $008-PtEdo2Zk.operation.alpha.operation_contents_and_result:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31],
        "metadata":
          { "balance_updates":
              $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
            "delegate": $Signature.Public_key_hash,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.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": {  } }
      || { /* Reveal */
           "kind": "reveal",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "public_key": $Signature.Public_key,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Transaction */
           "kind": "transaction",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } },
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
    $008-PtEdo2Zk.operation.alpha.operation_result.delegation:
      { /* Applied */
        "status": "applied",
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum }
    $008-PtEdo2Zk.operation.alpha.operation_result.origination:
      { /* Applied */
        "status": "applied",
        "big_map_diff"?:
          [ { /* update */
              "action": "update",
              "big_map": $bignum,
              "key_hash": $script_expr,
              "key":
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] },
              "value"?:
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] } }
            || { /* remove */
                 "action": "remove",
                 "big_map": $bignum }
            || { /* copy */
                 "action": "copy",
                 "source_big_map": $bignum,
                 "destination_big_map": $bignum }
            || { /* alloc */
                 "action": "alloc",
                 "big_map": $bignum,
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } ... ],
        "balance_updates"?:
          $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum,
        "storage_size"?: $bignum,
        "paid_storage_size_diff"?: $bignum,
        "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "big_map_diff"?:
             [ { /* update */
                 "action": "update",
                 "big_map": $bignum,
                 "key_hash": $script_expr,
                 "key":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value"?:
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } }
               || { /* remove */
                    "action": "remove",
                    "big_map": $bignum }
               || { /* copy */
                    "action": "copy",
                    "source_big_map": $bignum,
                    "destination_big_map": $bignum }
               || { /* alloc */
                    "action": "alloc",
                    "big_map": $bignum,
                    "key_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ],
           "balance_updates"?:
             $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
           "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum,
           "storage_size"?: $bignum,
           "paid_storage_size_diff"?: $bignum,
           "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
    $008-PtEdo2Zk.operation.alpha.operation_result.reveal:
      { /* Applied */
        "status": "applied",
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum }
    $008-PtEdo2Zk.operation.alpha.operation_result.transaction:
      { /* Applied */
        "status": "applied",
        "storage"?:
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "big_map_diff"?:
          [ { /* update */
              "action": "update",
              "big_map": $bignum,
              "key_hash": $script_expr,
              "key":
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] },
              "value"?:
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] } }
            || { /* remove */
                 "action": "remove",
                 "big_map": $bignum }
            || { /* copy */
                 "action": "copy",
                 "source_big_map": $bignum,
                 "destination_big_map": $bignum }
            || { /* alloc */
                 "action": "alloc",
                 "big_map": $bignum,
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } ... ],
        "balance_updates"?:
          $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum,
        "storage_size"?: $bignum,
        "paid_storage_size_diff"?: $bignum,
        "allocated_destination_contract"?: boolean,
        "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "storage"?:
             { /* Int */
               "int": $bignum }
             || { /* String */
                  "string": $unistring }
             || { /* Bytes */
                  "bytes": /^[a-zA-Z0-9]+$/ }
             || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
             /* Sequence */
             || { /* Generic prim (any number of args with or without annot) */
                  "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                  "args"?:
                    [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                  "annots"?: [ string ... ] },
           "big_map_diff"?:
             [ { /* update */
                 "action": "update",
                 "big_map": $bignum,
                 "key_hash": $script_expr,
                 "key":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value"?:
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } }
               || { /* remove */
                    "action": "remove",
                    "big_map": $bignum }
               || { /* copy */
                    "action": "copy",
                    "source_big_map": $bignum,
                    "destination_big_map": $bignum }
               || { /* alloc */
                    "action": "alloc",
                    "big_map": $bignum,
                    "key_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ],
           "balance_updates"?:
             $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
           "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum,
           "storage_size"?: $bignum,
           "paid_storage_size_diff"?: $bignum,
           "allocated_destination_contract"?: boolean,
           "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
    $008-PtEdo2Zk.operation.alpha.operation_with_metadata:
      { /* Operation_with_metadata */
        "contents":
          [ $008-PtEdo2Zk.operation.alpha.operation_contents_and_result ... ],
        "signature"?: $Signature }
      || { /* Operation_without_metadata */
           "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
           "signature"?: $Signature }
    $008-PtEdo2Zk.operation_metadata.alpha.balance_updates:
      [ { /* Contract */
          "kind": "contract",
          "contract": $008-PtEdo2Zk.contract_id,
          "change": $int64 }
        || { /* Rewards */
             "kind": "freezer",
             "category": "rewards",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 }
        || { /* Fees */
             "kind": "freezer",
             "category": "fees",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 }
        || { /* Deposits */
             "kind": "freezer",
             "category": "deposits",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 } ... ]
    $008-PtEdo2Zk.sapling_state_id:
      /* Sapling state identifier
         A sapling state identifier */
      $bignum
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Chain_id:
      /* Network identifier (Base58Check-encoded) */
      $unistring
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $unistring
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $block_hash:
      /* A block identifier (Base58Check-encoded) */
      $unistring
    $block_header_metadata:
      { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "next_protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "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] } ... ],
        "baker": $Signature.Public_key_hash,
        "level":
          { /* This field is DEPRECATED: use level_info instead */
            "level":
              integer ∈ [-2^31-1, 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 block that starts
                 protocol alpha. This is specific to the protocol alpha. Other
                 protocols might or might not include a similar notion. */,
            "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 protocol alpha. */,
            "cycle_position":
              integer ∈ [-2^31-1, 2^31]
              /* The current level of the block relative to the first block of
                 the current cycle. */,
            "voting_period":
              integer ∈ [-2^31-1, 2^31]
              /* The current voting period's index. Note that cycles are a
                 protocol-specific notion. As a result, the voting period index
                 starts at 0 with the first block of protocol alpha. This field
                 is DEPRECATED: use `../votes/voting_period` RPC
                 instead. */,
            "voting_period_position":
              integer ∈ [-2^31-1, 2^31]
              /* The current level of the block relative to the first block of
                 the current voting period. This field is DEPRECATED: use
                 `../votes/voting_period` RPC instead. */,
            "expected_commitment":
              boolean
              /* Tells wether the baker of this block has to commit a seed
                 nonce hash. */ },
        "level_info":
          { "level":
              integer ∈ [-2^31-1, 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 block that starts
                 protocol alpha. This is specific to the protocol alpha. Other
                 protocols might or might not include a similar notion. */,
            "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 protocol alpha. */,
            "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 wether the baker of this block has to commit a seed
                 nonce hash. */ },
        "voting_period_kind":
          /* This field is DEPRECATED: use voting_period_info instead */
          "proposal"
          || "testing_vote"
          || "testing"
          || "promotion_vote"
          || "adoption",
        "voting_period_info":
          { "voting_period":
              { "index":
                  integer ∈ [-2^31-1, 2^31]
                  /* The voting period's index. Starts at 0 with the first
                     block of protocol alpha. */,
                "kind":
                  "proposal"
                  || "testing_vote"
                  || "testing"
                  || "promotion_vote"
                  || "adoption",
                "start_position": integer ∈ [-2^31-1, 2^31] },
            "position": integer ∈ [-2^31-1, 2^31],
            "remaining": integer ∈ [-2^31-1, 2^31] },
        "nonce_hash": $cycle_nonce /* Some */ || null /* None */,
        "consumed_gas": $positive_bignum,
        "deactivated": [ $Signature.Public_key_hash ... ],
        "balance_updates":
          $008-PtEdo2Zk.operation_metadata.alpha.balance_updates }
    $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]+$/ ... ]
    $int64:
      /* 64 bit integers
         Decimal representation of 64 bit integers */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $operation:
      { /* An operation's shell header. */
        "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "chain_id": $Chain_id,
        "hash": $Operation_hash,
        "branch": $block_hash,
        "contents":
          [ $008-PtEdo2Zk.operation.alpha.operation_contents_and_result ... ],
        "signature"?: $Signature }
      || { /* An operation's shell header. */
           "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
           "chain_id": $Chain_id,
           "hash": $Operation_hash,
           "branch": $block_hash,
           "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
           "signature"?: $Signature }
      || { /* An operation's shell header. */
           "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
           "chain_id": $Chain_id,
           "hash": $Operation_hash,
           "branch": $block_hash,
           "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
           "signature": $Signature }
    $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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $sapling.DH.epk: /^[a-zA-Z0-9]+$/
    $sapling.transaction.ciphertext:
      { "cv": $sapling.transaction.commitment_value,
        "epk": $sapling.DH.epk,
        "payload_enc": /^[a-zA-Z0-9]+$/,
        "nonce_enc": /^[a-zA-Z0-9]+$/,
        "payload_out": /^[a-zA-Z0-9]+$/,
        "nonce_out": /^[a-zA-Z0-9]+$/ }
    $sapling.transaction.commitment: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_value: /^[a-zA-Z0-9]+$/
    $sapling.transaction.nullifier: /^[a-zA-Z0-9]+$/
    $script_expr:
      /* A script expression ID (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] ... ] }
    +--------------------------------+----------------------+-------------------------------------+
    | Name                           | Size                 | Contents                            |
    +================================+======================+=====================================+
    | chain_id                       | 4 bytes              | bytes                               |
    +--------------------------------+----------------------+-------------------------------------+
    | hash                           | 32 bytes             | bytes                               |
    +--------------------------------+----------------------+-------------------------------------+
    | # bytes in next field          | 4 bytes              | unsigned 30-bit integer             |
    +--------------------------------+----------------------+-------------------------------------+
    | header                         | Determined from data | $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_12                   |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_12
    ****
    
    +--------------------------+----------+-------------------------+
    | 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  |
    +--------------------------+----------+-------------------------+
    
    
    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_2634                 |
    +-----------------------+----------+-------------------------+
    
    
    X_2634 (Variable, 8-bit tag)
    ****************************
    
    Operation with metadata (tag 0)
    ===============================
    
    +-----------------+----------------------+------------------------+
    | Name            | Size                 | Contents               |
    +=================+======================+========================+
    | Tag             | 1 byte               | unsigned 8-bit integer |
    +-----------------+----------------------+------------------------+
    | Unnamed field 0 | Determined from data | $X_2633                |
    +-----------------+----------------------+------------------------+
    
    
    Operation without metadata (tag 1)
    ==================================
    
    +-----------+----------+----------------------------------------------------+
    | Name      | Size     | Contents                                           |
    +===========+==========+====================================================+
    | Tag       | 1 byte   | unsigned 8-bit integer                             |
    +-----------+----------+----------------------------------------------------+
    | contents  | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +-----------+----------+----------------------------------------------------+
    | signature | 64 bytes | bytes                                              |
    +-----------+----------+----------------------------------------------------+
    
    
    X_2633 (Determined from data, 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 $008-PtEdo2Zk.operation.alpha.operation_contents_and_result |
    +---------------------------------+----------+-------------------------------------------------------------------------+
    | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                                     |
    +---------------------------------+----------+-------------------------------------------------------------------------+
    | signature                       | 64 bytes | 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 $008-PtEdo2Zk.operation.alpha.contents |
    +---------------------------------+----------+----------------------------------------------------+
    | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                |
    +---------------------------------+----------+----------------------------------------------------+
    | signature                       | 64 bytes | bytes                                              |
    +---------------------------------+----------+----------------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
    ********************************************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +----------+----------------------+------------------------+
    | Name     | Size                 | Contents               |
    +==========+======================+========================+
    | Tag      | 1 byte               | unsigned 8-bit integer |
    +----------+----------------------+------------------------+
    | level    | 4 bytes              | signed 32-bit integer  |
    +----------+----------------------+------------------------+
    | metadata | Determined from data | $X_2630                |
    +----------+----------------------+------------------------+
    
    
    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 | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +----------+----------------------+--------------------------------------------------------+
    
    
    Double_endorsement_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             | $008-PtEdo2Zk.inlined.endorsement                      |
    +-----------------------+----------------------+--------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
    +-----------------------+----------------------+--------------------------------------------------------+
    | op2                   | Variable             | $008-PtEdo2Zk.inlined.endorsement                      |
    +-----------------------+----------------------+--------------------------------------------------------+
    | metadata              | Determined from data | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +-----------------------+----------------------+--------------------------------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header           |
    +-----------------------+----------------------+--------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
    +-----------------------+----------------------+--------------------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header           |
    +-----------------------+----------------------+--------------------------------------------------------+
    | metadata              | Determined from data | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +-----------------------+----------------------+--------------------------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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_2099                |
    +---------------+----------------------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_2353                             |
    +----------------------------------+----------------------+-------------------------------------+
    | metadata                         | Determined from data | $X_1310                             |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.scripted.contracts    |
    +--------------------------------+----------------------+-------------------------------------+
    | metadata                       | Determined from data | $X_538                              |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    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_2099                             |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_2630
    ******
    
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | Name                                                                     | Size     | Contents                           |
    +==========================================================================+==========+====================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer            |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | balance_updates                                                          | Variable | sequence of $X_10                  |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | delegate                                                                 | 21 bytes | $public_key_hash                   |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | # bytes in next field                                                    | 4 bytes  | unsigned 30-bit integer            |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | slots                                                                    | Variable | sequence of unsigned 8-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                  |
    +----------------------+----------+------------------------+
    
    
    X_2632 (Determined from data, 8-bit tag)
    ****************************************
    
    Contract (tag 0)
    ================
    
    +----------+----------+---------------------------+
    | Name     | Size     | Contents                  |
    +==========+==========+===========================+
    | Tag      | 1 byte   | unsigned 8-bit integer    |
    +----------+----------+---------------------------+
    | contract | 22 bytes | $008-PtEdo2Zk.contract_id |
    +----------+----------+---------------------------+
    
    
    Rewards (tag 1)
    ===============
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    Fees (tag 2)
    ============
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    Deposits (tag 3)
    ================
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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_10       |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    X_2099
    ******
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                                                   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.delegation           |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    008-PtEdo2Zk.error
    ******************
    
    +--------------------------+----------+-------------------------+
    | 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 | bytes                   |
    +--------------------------+----------+-------------------------+
    
    
    X_2621
    ******
    
    +-----------------------+----------+---------------------------------+
    | Name                  | Size     | Contents                        |
    +=======================+==========+=================================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer         |
    +-----------------------+----------+---------------------------------+
    | Unnamed field 0       | Variable | sequence of $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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                  |
    +-----------------+----------+------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
    *******************************************************************************************
    
    Applied (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 | $X_30                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_21                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                     |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2621                               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | storage                                                                  | Determined from data | $X_30                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_21                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                     |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.lazy_storage_diff       |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    
    
    X_2620 (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_143                 |
    +------+----------------------+------------------------+
    
    
    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_2543                |
    +------+----------------------+------------------------+
    
    
    X_2600
    ******
    
    +-----------------------------+----------------------+-------------------------------------+
    | Name                        | Size                 | Contents                            |
    +=============================+======================+=====================================+
    | key_hash                    | 32 bytes             | bytes                               |
    +-----------------------------+----------------------+-------------------------------------+
    | key                         | Determined from data | $X_30                               |
    +-----------------------------+----------------------+-------------------------------------+
    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true) |
    +-----------------------------+----------------------+-------------------------------------+
    | value                       | Determined from data | $X_30                               |
    +-----------------------------+----------------------+-------------------------------------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
    X_2543 (Determined from data, 8-bit tag)
    ****************************************
    
    update (tag 0)
    ==============
    
    +---------+----------------------+------------------------+
    | Name    | Size                 | Contents               |
    +=========+======================+========================+
    | Tag     | 1 byte               | unsigned 8-bit integer |
    +---------+----------------------+------------------------+
    | updates | Determined from data | $X_61                  |
    +---------+----------------------+------------------------+
    
    
    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_61                  |
    +---------+----------------------+------------------------+
    
    
    alloc (tag 3)
    =============
    
    +-----------+----------------------+-------------------------+
    | Name      | Size                 | Contents                |
    +===========+======================+=========================+
    | Tag       | 1 byte               | unsigned 8-bit integer  |
    +-----------+----------------------+-------------------------+
    | updates   | Determined from data | $X_61                   |
    +-----------+----------------------+-------------------------+
    | memo_size | 2 bytes              | unsigned 16-bit integer |
    +-----------+----------------------+-------------------------+
    
    
    X_2542
    ******
    
    +-----------------+----------------------+---------------------------------+
    | Name            | Size                 | Contents                        |
    +=================+======================+=================================+
    | Unnamed field 0 | 32 bytes             | bytes                           |
    +-----------------+----------------------+---------------------------------+
    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
    +-----------------+----------------------+---------------------------------+
    
    
    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_2534 (Determined from data, 8-bit tag)
    ****************************************
    
    update (tag 0)
    ==============
    
    +-----------------------------+----------------------+-------------------------------------+
    | Name                        | Size                 | Contents                            |
    +=============================+======================+=====================================+
    | Tag                         | 1 byte               | unsigned 8-bit integer              |
    +-----------------------------+----------------------+-------------------------------------+
    | big_map                     | Determined from data | $Z.t                                |
    +-----------------------------+----------------------+-------------------------------------+
    | key_hash                    | 32 bytes             | bytes                               |
    +-----------------------------+----------------------+-------------------------------------+
    | key                         | Determined from data | $X_30                               |
    +-----------------------------+----------------------+-------------------------------------+
    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true) |
    +-----------------------------+----------------------+-------------------------------------+
    | value                       | Determined from data | $X_30                               |
    +-----------------------------+----------------------+-------------------------------------+
    
    
    remove (tag 1)
    ==============
    
    +---------+----------------------+------------------------+
    | Name    | Size                 | Contents               |
    +=========+======================+========================+
    | Tag     | 1 byte               | unsigned 8-bit integer |
    +---------+----------------------+------------------------+
    | big_map | Determined from data | $Z.t                   |
    +---------+----------------------+------------------------+
    
    
    copy (tag 2)
    ============
    
    +---------------------+----------------------+------------------------+
    | Name                | Size                 | Contents               |
    +=====================+======================+========================+
    | Tag                 | 1 byte               | unsigned 8-bit integer |
    +---------------------+----------------------+------------------------+
    | source_big_map      | Determined from data | $Z.t                   |
    +---------------------+----------------------+------------------------+
    | destination_big_map | Determined from data | $Z.t                   |
    +---------------------+----------------------+------------------------+
    
    
    alloc (tag 3)
    =============
    
    +------------+----------------------+------------------------+
    | Name       | Size                 | Contents               |
    +============+======================+========================+
    | Tag        | 1 byte               | unsigned 8-bit integer |
    +------------+----------------------+------------------------+
    | big_map    | Determined from data | $Z.t                   |
    +------------+----------------------+------------------------+
    | key_type   | Determined from data | $X_30                  |
    +------------+----------------------+------------------------+
    | value_type | Determined from data | $X_30                  |
    +------------+----------------------+------------------------+
    
    
    X_2353
    ******
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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                  |
    +-----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.origination (Determined from data, 8-bit tag)
    *******************************************************************************************
    
    Applied (tag 0)
    ===============
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | Name                                                                     | Size                 | Contents                              |
    +==========================================================================+======================+=======================================+
    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_21                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                     |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2621                               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_21                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                     |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.lazy_storage_diff       |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    X_1310
    ******
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                                                   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.transaction          |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    X_538
    *****
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                                                   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.origination          |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.internal_operation_result (Determined from data, 8-bit tag)
    ****************************************************************************************
    
    reveal (tag 0)
    ==============
    
    +------------+----------------------+-----------------------------------------------------------+
    | Name       | Size                 | Contents                                                  |
    +============+======================+===========================================================+
    | Tag        | 1 byte               | unsigned 8-bit integer                                    |
    +------------+----------------------+-----------------------------------------------------------+
    | source     | 22 bytes             | $008-PtEdo2Zk.contract_id                                 |
    +------------+----------------------+-----------------------------------------------------------+
    | nonce      | 2 bytes              | unsigned 16-bit integer                                   |
    +------------+----------------------+-----------------------------------------------------------+
    | public_key | Determined from data | $public_key                                               |
    +------------+----------------------+-----------------------------------------------------------+
    | result     | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.delegation |
    +------------+----------------------+-----------------------------------------------------------+
    
    
    transaction (tag 1)
    ===================
    
    +----------------------------------+----------------------+------------------------------------------------------------+
    | Name                             | Size                 | Contents                                                   |
    +==================================+======================+============================================================+
    | Tag                              | 1 byte               | unsigned 8-bit integer                                     |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | source                           | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | nonce                            | 2 bytes              | unsigned 16-bit integer                                    |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | amount                           | Determined from data | $N.t                                                       |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | destination                      | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                        |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | parameters                       | Determined from data | $X_2353                                                    |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | result                           | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.transaction |
    +----------------------------------+----------------------+------------------------------------------------------------+
    
    
    origination (tag 2)
    ===================
    
    +--------------------------------+----------------------+------------------------------------------------------------+
    | Name                           | Size                 | Contents                                                   |
    +================================+======================+============================================================+
    | Tag                            | 1 byte               | unsigned 8-bit integer                                     |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | source                         | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | 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 | $008-PtEdo2Zk.scripted.contracts                           |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | result                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.origination |
    +--------------------------------+----------------------+------------------------------------------------------------+
    
    
    delegation (tag 3)
    ==================
    
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | Name                           | Size                 | Contents                                                  |
    +================================+======================+===========================================================+
    | Tag                            | 1 byte               | unsigned 8-bit integer                                    |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | source                         | 22 bytes             | $008-PtEdo2Zk.contract_id                                 |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | 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 | $008-PtEdo2Zk.operation.alpha.operation_result.delegation |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    
    
    008-PtEdo2Zk.lazy_storage_diff
    ******************************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_2620     |
    +-----------------------+----------+-------------------------+
    
    
    X_143 (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_2600     |
    +-----------------------+----------+-------------------------+
    
    
    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_2600     |
    +-----------------------+----------------------+-------------------------+
    
    
    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_2600     |
    +-----------------------+----------------------+-------------------------+
    | key_type              | Determined from data | $X_30                   |
    +-----------------------+----------------------+-------------------------+
    | value_type            | Determined from data | $X_30                   |
    +-----------------------+----------------------+-------------------------+
    
    
    X_61
    ****
    
    +-----------------------------+----------+-------------------------+
    | Name                        | Size     | Contents                |
    +=============================+==========+=========================+
    | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
    +-----------------------------+----------+-------------------------+
    | commitments_and_ciphertexts | Variable | sequence of $X_2542     |
    +-----------------------------+----------+-------------------------+
    | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
    +-----------------------------+----------+-------------------------+
    | nullifiers                  | Variable | sequence of bytes       |
    +-----------------------------+----------+-------------------------+
    
    
    X_21
    ****
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_2534     |
    +-----------------------+----------+-------------------------+
    
    
    X_30 (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 $X_30       |
    +-----------------------+----------+-------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $X_30                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $X_30                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $X_30                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $X_30                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $X_30                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $X_30                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $X_30                                                                         |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # 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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.delegation (Determined from data, 8-bit tag)
    ******************************************************************************************
    
    Applied (tag 0)
    ===============
    
    +-------------------+----------------------+------------------------+
    | Name              | Size                 | Contents               |
    +===================+======================+========================+
    | Tag               | 1 byte               | unsigned 8-bit integer |
    +-------------------+----------------------+------------------------+
    | consumed_gas      | Determined from data | $N.t                   |
    +-------------------+----------------------+------------------------+
    | 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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2621                             |
    +------------------------------+----------------------+-------------------------------------+
    | consumed_gas                 | Determined from data | $N.t                                |
    +------------------------------+----------------------+-------------------------------------+
    | consumed_milligas            | Determined from data | $N.t                                |
    +------------------------------+----------------------+-------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_2353                             |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_0
    ***
    
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                     |
    +==========================================================================+======================+==============================================================+
    | # bytes in next 17 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                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | baker                                                                    | 21 bytes             | $public_key_hash                                             |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | level                                                                    | 25 bytes             | $X_3                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | level_info                                                               | 17 bytes             | $X_4                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | voting_period_kind                                                       | 1 byte               | $X_8                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | voting_period_info                                                       | 17 bytes             | $X_6                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | nonce_hash                                                               | Determined from data | $X_9                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                                         |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                      |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | deactivated                                                              | Variable             | sequence of $public_key_hash                                 |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                      |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_10                                            |
    +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
    
    
    X_10
    ****
    
    +-----------------+----------------------+-----------------------+
    | Name            | Size                 | Contents              |
    +=================+======================+=======================+
    | Unnamed field 0 | Determined from data | $X_2632               |
    +-----------------+----------------------+-----------------------+
    | change          | 8 bytes              | signed 64-bit integer |
    +-----------------+----------------------+-----------------------+
    
    
    X_9 (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                  |
    +-------------+----------+------------------------+
    
    
    X_6
    ***
    
    +---------------+---------+-----------------------+
    | Name          | Size    | Contents              |
    +===============+=========+=======================+
    | voting_period | 9 bytes | $X_7                  |
    +---------------+---------+-----------------------+
    | position      | 4 bytes | signed 32-bit integer |
    +---------------+---------+-----------------------+
    | remaining     | 4 bytes | signed 32-bit integer |
    +---------------+---------+-----------------------+
    
    
    X_7
    ***
    
    +----------------+---------+-----------------------+
    | Name           | Size    | Contents              |
    +================+=========+=======================+
    | index          | 4 bytes | signed 32-bit integer |
    +----------------+---------+-----------------------+
    | kind           | 1 byte  | $X_8                  |
    +----------------+---------+-----------------------+
    | start_position | 4 bytes | signed 32-bit integer |
    +----------------+---------+-----------------------+
    
    
    X_8 (1 byte, 8-bit tag)
    ***********************
    
    Proposal (tag 0)
    ================
    
    +------+--------+------------------------+
    | Name | Size   | Contents               |
    +======+========+========================+
    | Tag  | 1 byte | unsigned 8-bit integer |
    +------+--------+------------------------+
    
    
    Testing_vote (tag 1)
    ====================
    
    +------+--------+------------------------+
    | Name | Size   | Contents               |
    +======+========+========================+
    | Tag  | 1 byte | unsigned 8-bit integer |
    +------+--------+------------------------+
    
    
    Testing (tag 2)
    ===============
    
    +------+--------+------------------------+
    | Name | Size   | Contents               |
    +======+========+========================+
    | Tag  | 1 byte | unsigned 8-bit integer |
    +------+--------+------------------------+
    
    
    Promotion_vote (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_4
    ***
    
    +---------------------+---------+-------------------------------------+
    | 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_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               |
    +------------------------+---------+-------------------------------------+
    | voting_period          | 4 bytes | signed 32-bit integer               |
    +------------------------+---------+-------------------------------------+
    | voting_period_position | 4 bytes | signed 32-bit integer               |
    +------------------------+---------+-------------------------------------+
    | expected_commitment    | 1 byte  | boolean (0 for false, 255 for true) |
    +------------------------+---------+-------------------------------------+
    
    
    X_1
    ***
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_2        |
    +-----------------------+----------+-------------------------+
    
    
    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 |
    +------------------------------+---------+--------------------------------------------------------------+
    
    
    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  |
    +------------+----------+------------------------+
    
    
.. _GET_..--block_id--context--big_maps--big_map_id--script_expr : **GET ..//context/big_maps//** .. raw:: html

Access the value associated with a key in a big map.

    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $008-PtEdo2Zk.michelson.v1.primitives,
         "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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_8     |
    +-----------------+----------------------+----------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
.. _GET_..--block_id--context--constants : **GET ..//context/constants** .. raw:: html

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],
      "preserved_cycles": integer ∈ [0, 255],
      "blocks_per_cycle": integer ∈ [-2^31-1, 2^31],
      "blocks_per_commitment": integer ∈ [-2^31-1, 2^31],
      "blocks_per_roll_snapshot": integer ∈ [-2^31-1, 2^31],
      "blocks_per_voting_period": integer ∈ [-2^31-1, 2^31],
      "time_between_blocks": [ $int64 ... ],
      "endorsers_per_block": integer ∈ [0, 2^16-1],
      "hard_gas_limit_per_operation": $bignum,
      "hard_gas_limit_per_block": $bignum,
      "proof_of_work_threshold": $int64,
      "tokens_per_roll": $008-PtEdo2Zk.mutez,
      "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
      "seed_nonce_revelation_tip": $008-PtEdo2Zk.mutez,
      "origination_size": integer ∈ [-2^30, 2^30],
      "block_security_deposit": $008-PtEdo2Zk.mutez,
      "endorsement_security_deposit": $008-PtEdo2Zk.mutez,
      "baking_reward_per_endorsement": [ $008-PtEdo2Zk.mutez ... ],
      "endorsement_reward": [ $008-PtEdo2Zk.mutez ... ],
      "cost_per_byte": $008-PtEdo2Zk.mutez,
      "hard_storage_limit_per_operation": $bignum,
      "test_chain_duration": $int64,
      "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],
      "initial_endorsers": integer ∈ [0, 2^16-1],
      "delay_per_missing_endorsement": $int64 }
    $008-PtEdo2Zk.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
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | 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                                       |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | preserved_cycles                 | 1 byte               | unsigned 8-bit integer                                       |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | blocks_per_cycle                 | 4 bytes              | signed 32-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | blocks_per_commitment            | 4 bytes              | signed 32-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | blocks_per_roll_snapshot         | 4 bytes              | signed 32-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | blocks_per_voting_period         | 4 bytes              | signed 32-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | # bytes in next field            | 4 bytes              | unsigned 30-bit integer                                      |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | time_between_blocks              | Variable             | sequence of signed 64-bit integer                            |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | endorsers_per_block              | 2 bytes              | unsigned 16-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                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | tokens_per_roll                  | Determined from data | $N.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | michelson_maximum_type_size      | 2 bytes              | unsigned 16-bit integer                                      |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | seed_nonce_revelation_tip        | Determined from data | $N.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | origination_size                 | 4 bytes              | signed 31-bit integer in the range -1073741824 to 1073741823 |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | block_security_deposit           | Determined from data | $N.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | endorsement_security_deposit     | Determined from data | $N.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | # bytes in next field            | 4 bytes              | unsigned 30-bit integer                                      |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | baking_reward_per_endorsement    | Variable             | sequence of $N.t                                             |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | # bytes in next field            | 4 bytes              | unsigned 30-bit integer                                      |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | endorsement_reward               | Variable             | sequence of $N.t                                             |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | cost_per_byte                    | Determined from data | $N.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | hard_storage_limit_per_operation | Determined from data | $Z.t                                                         |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | test_chain_duration              | 8 bytes              | signed 64-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | 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                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | initial_endorsers                | 2 bytes              | unsigned 16-bit integer                                      |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    | delay_per_missing_endorsement    | 8 bytes              | signed 64-bit integer                                        |
    +----------------------------------+----------------------+--------------------------------------------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value 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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--constants--errors : **GET ..//context/constants/errors** .. raw:: html

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--contracts : **GET ..//context/contracts** .. raw:: html

All existing contracts (including non-empty default contracts).

    [ $008-PtEdo2Zk.contract_id ... ]
    $008-PtEdo2Zk.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 $008-PtEdo2Zk.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                  |
    +----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 : **GET ..//context/contracts/** .. raw:: html

Access the complete status of a contract.

    { "balance": $008-PtEdo2Zk.mutez,
      "delegate"?: $Signature.Public_key_hash,
      "script"?: $008-PtEdo2Zk.scripted.contracts,
      "counter"?: $positive_bignum }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $unistring
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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                            |
    +================================+======================+=====================================+
    | 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 | $008-PtEdo2Zk.scripted.contracts    |
    +--------------------------------+----------------------+-------------------------------------+
    | ? presence of field "counter"  | 1 byte               | boolean (0 for false, 255 for true) |
    +--------------------------------+----------------------+-------------------------------------+
    | counter                        | Determined from data | $N.t                                |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--balance : **GET ..//context/contracts//balance** .. raw:: html

Access the balance of a contract.

    $008-PtEdo2Zk.mutez
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value 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 : **POST ..//context/contracts//big_map_get** .. raw:: html

Access the value associated with a key in a big map of the contract (deprecated).

    { "key":
        { /* Int */
          "int": $bignum }
        || { /* String */
             "string": $unistring }
        || { /* Bytes */
             "bytes": /^[a-zA-Z0-9]+$/ }
        || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
        /* Sequence */
        || { /* Generic prim (any number of args with or without annot) */
             "prim": $008-PtEdo2Zk.michelson.v1.primitives,
             "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
             "annots"?: [ string ... ] },
      "type":
        { /* Int */
          "int": $bignum }
        || { /* String */
             "string": $unistring }
        || { /* Bytes */
             "bytes": /^[a-zA-Z0-9]+$/ }
        || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
        /* Sequence */
        || { /* Generic prim (any number of args with or without annot) */
             "prim": $008-PtEdo2Zk.michelson.v1.primitives,
             "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
             "annots"?: [ string ... ] } }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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 |
    +======+======================+==========+
    | key  | Determined from data | $X_8     |
    +------+----------------------+----------+
    | type | Determined from data | $X_17    |
    +------+----------------------+----------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
    X_8 (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 $X_8        |
    +-----------------------+----------+-------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $X_8                                                                                      |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $X_8                                                                                      |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $X_8                                                                                      |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $X_8                                                                                      |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $X_8                                                                                      |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $X_8                                                                                      |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $X_8                                                                          |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # 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                   |
    +-----------------------+----------+-------------------------+
    
    
    /* Some */
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $008-PtEdo2Zk.michelson.v1.primitives,
         "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
    || null
    /* None */
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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_9     |
    +-----------------+----------------------+----------+
    
    
    X_9 (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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------+----------------------+-------------------------------------------------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--counter : **GET ..//context/contracts//counter** .. raw:: html

Access the counter of a contract, if any.

    $bignum
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    +-----------------+----------------------+----------+
    | Name            | Size                 | Contents |
    +=================+======================+==========+
    | Unnamed field 0 | Determined from data | $Z.t     |
    +-----------------+----------------------+----------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--delegate : **GET ..//context/contracts//delegate** .. raw:: html

Access the delegate of a contract, if any.

    $Signature.Public_key_hash
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 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         |
    +===========================+==========+==================+
    | 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                  |
    +----------------------+----------+------------------------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--entrypoints : **GET ..//context/contracts//entrypoints** .. raw:: html

Return the list of entrypoints of the contract

    { "unreachable"?:
        [ { "path": [ $008-PtEdo2Zk.michelson.v1.primitives ... ] } ... ],
      "entrypoints":
        { *:
            { /* Int */
              "int": $bignum }
            || { /* String */
                 "string": $unistring }
            || { /* Bytes */
                 "bytes": /^[a-zA-Z0-9]+$/ }
            || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
            /* Sequence */
            || { /* Generic prim (any number of args with or without annot) */
                 "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                 "args"?:
                   [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                 "annots"?: [ string ... ] } } }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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 |
    +-----------------------+----------+-------------------------+
    | unreachable           | Variable | sequence of $X_0        |
    +-----------------------+----------+-------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | entrypoints           | Variable | sequence of $X_1        |
    +-----------------------+----------+-------------------------+
    
    
    X_1
    ***
    
    +-----------------+----------------------+-------------------------------------------------+
    | Name            | Size                 | Contents                                        |
    +=================+======================+=================================================+
    | Unnamed field 0 | Determined from data | $X_2                                            |
    +-----------------+----------------------+-------------------------------------------------+
    | Unnamed field 1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------+----------------------+-------------------------------------------------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
    X_2
    ***
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    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 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------------------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--entrypoints--string : **GET ..//context/contracts//entrypoints/** .. raw:: html

Return the type of the given entrypoint of the contract

    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $008-PtEdo2Zk.michelson.v1.primitives,
         "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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_8     |
    +-----------------+----------------------+----------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
.. _GET_..--block_id--context--contracts--contract_id--manager_key : **GET ..//context/contracts//manager_key** .. raw:: html

Access the manager of a 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                  |
    +-----------------+----------+------------------------+
    
    
    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 : **GET ..//context/contracts//script** .. raw:: html

Access the code and data of the contract.

    $008-PtEdo2Zk.scripted.contracts
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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 |
    +-----------------------+----------+-------------------------+
    | 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 : **GET ..//context/contracts//single_sapling_get_diff?[offset_commitment=]&[offset_nullifier=]** .. raw:: html

Returns the root and a diff of a state starting from an optional offset which is zero by default.

Optional query arguments :

  • offset_commitment = <int64> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <int64> : 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]+$/
    $sapling.transaction.ciphertext:
      { "cv": $sapling.transaction.commitment_value,
        "epk": $sapling.DH.epk,
        "payload_enc": /^[a-zA-Z0-9]+$/,
        "nonce_enc": /^[a-zA-Z0-9]+$/,
        "payload_out": /^[a-zA-Z0-9]+$/,
        "nonce_out": /^[a-zA-Z0-9]+$/ }
    $sapling.transaction.commitment: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_hash: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_value: /^[a-zA-Z0-9]+$/
    $sapling.transaction.nullifier: /^[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--storage : **GET ..//context/contracts//storage** .. raw:: html

Access the data of the contract.

    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $008-PtEdo2Zk.michelson.v1.primitives,
         "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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_8     |
    +-----------------+----------------------+----------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
.. _GET_..--block_id--context--delegates : **GET ..//context/delegates?[active]&[inactive]** .. raw:: html

Lists all registered delegates.

Optional query arguments :

  • active
  • inactive

    [ $Signature.Public_key_hash ... ]
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 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                  |
    +----------------------+----------+------------------------+
    
    
.. _GET_..--block_id--context--delegates--pkh : **GET ..//context/delegates/** .. raw:: html

Everything about a delegate.

    { "balance": $008-PtEdo2Zk.mutez,
      "frozen_balance": $008-PtEdo2Zk.mutez,
      "frozen_balance_by_cycle":
        [ { "cycle": integer ∈ [-2^31-1, 2^31],
            "deposit": $008-PtEdo2Zk.mutez,
            "fees": $008-PtEdo2Zk.mutez,
            "rewards": $008-PtEdo2Zk.mutez } ... ],
      "staking_balance": $008-PtEdo2Zk.mutez,
      "delegated_contracts": [ $008-PtEdo2Zk.contract_id ... ],
      "delegated_balance": $008-PtEdo2Zk.mutez,
      "deactivated": boolean,
      "grace_period": integer ∈ [-2^31-1, 2^31],
      "voting_power": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.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                              |
    +=========================+======================+=======================================+
    | balance                 | Determined from data | $N.t                                  |
    +-------------------------+----------------------+---------------------------------------+
    | frozen_balance          | Determined from data | $N.t                                  |
    +-------------------------+----------------------+---------------------------------------+
    | # bytes in next field   | 4 bytes              | unsigned 30-bit integer               |
    +-------------------------+----------------------+---------------------------------------+
    | frozen_balance_by_cycle | Variable             | sequence of $X_0                      |
    +-------------------------+----------------------+---------------------------------------+
    | staking_balance         | Determined from data | $N.t                                  |
    +-------------------------+----------------------+---------------------------------------+
    | # bytes in next field   | 4 bytes              | unsigned 30-bit integer               |
    +-------------------------+----------------------+---------------------------------------+
    | delegated_contracts     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +-------------------------+----------------------+---------------------------------------+
    | delegated_balance       | Determined from data | $N.t                                  |
    +-------------------------+----------------------+---------------------------------------+
    | deactivated             | 1 byte               | boolean (0 for false, 255 for true)   |
    +-------------------------+----------------------+---------------------------------------+
    | grace_period            | 4 bytes              | signed 32-bit integer                 |
    +-------------------------+----------------------+---------------------------------------+
    | voting_power            | 4 bytes              | signed 32-bit integer                 |
    +-------------------------+----------------------+---------------------------------------+
    
    
    X_0
    ***
    
    +---------+----------------------+-----------------------+
    | Name    | Size                 | Contents              |
    +=========+======================+=======================+
    | cycle   | 4 bytes              | signed 32-bit integer |
    +---------+----------------------+-----------------------+
    | deposit | Determined from data | $N.t                  |
    +---------+----------------------+-----------------------+
    | fees    | Determined from data | $N.t                  |
    +---------+----------------------+-----------------------+
    | rewards | Determined from data | $N.t                  |
    +---------+----------------------+-----------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--delegates--pkh--balance : **GET ..//context/delegates//balance** .. raw:: html

Returns the full balance of a given delegate, including the frozen balances.

    $008-PtEdo2Zk.mutez
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--delegates--pkh--deactivated : **GET ..//context/delegates//deactivated** .. raw:: html

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 : **GET ..//context/delegates//delegated_balance** .. raw:: html

Returns the balances of all the contracts that delegate to a given delegate. This excludes the delegate's own balance and its frozen balances.

    $008-PtEdo2Zk.mutez
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--delegates--pkh--delegated_contracts : **GET ..//context/delegates//delegated_contracts** .. raw:: html

Returns the list of contracts that delegate to a given delegate.

    [ $008-PtEdo2Zk.contract_id ... ]
    $008-PtEdo2Zk.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 $008-PtEdo2Zk.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                  |
    +----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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--frozen_balance : **GET ..//context/delegates//frozen_balance** .. raw:: html

Returns the total frozen balances of a given delegate, this includes the frozen deposits, rewards and fees.

    $008-PtEdo2Zk.mutez
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--delegates--pkh--frozen_balance_by_cycle : **GET ..//context/delegates//frozen_balance_by_cycle** .. raw:: html

Returns the frozen balances of a given delegate, indexed by the cycle by which it will be unfrozen

    [ { "cycle": integer ∈ [-2^31-1, 2^31],
        "deposit": $008-PtEdo2Zk.mutez,
        "fees": $008-PtEdo2Zk.mutez,
        "rewards": $008-PtEdo2Zk.mutez } ... ]
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value 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                  |
    +---------+----------------------+-----------------------+
    | fees    | Determined from data | $N.t                  |
    +---------+----------------------+-----------------------+
    | rewards | Determined from data | $N.t                  |
    +---------+----------------------+-----------------------+
    
    
.. _GET_..--block_id--context--delegates--pkh--grace_period : **GET ..//context/delegates//grace_period** .. raw:: html

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 rolls) by simply re-registering as a delegate. For deactivated delegates, this value contains the cycle by 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--staking_balance : **GET ..//context/delegates//staking_balance** .. raw:: html

Returns the total amount of tokens 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 and its frozen fees and deposits. The rewards do not count in the delegated balance until they are unfrozen.

    $008-PtEdo2Zk.mutez
    $008-PtEdo2Zk.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 number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
.. _GET_..--block_id--context--delegates--pkh--voting_power : **GET ..//context/delegates//voting_power** .. raw:: html

The number of rolls in the vote listings for a given delegate

    integer ∈ [-2^31-1, 2^31]
    +-----------------+---------+-----------------------+
    | Name            | Size    | Contents              |
    +=================+=========+=======================+
    | Unnamed field 0 | 4 bytes | signed 32-bit integer |
    +-----------------+---------+-----------------------+
    
    
    
.. _GET_..--block_id--context--nonces--block_level : **GET ..//context/nonces/** .. raw:: html

Info about the nonce of a previous block.

    { /* Revealed */
      "nonce": /^[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 : **GET ..//context/raw/bytes?[depth=]** .. raw:: html

Returns the raw context.

Optional query arguments :

  • depth = <int>

    /^[a-zA-Z0-9]+$/
    /* Key */
    || { /* Dir */
         *: $raw_context }
    || null
    /* Cut */
    $raw_context:
      /^[a-zA-Z0-9]+$/
      /* Key */
      || { /* Dir */
           *: $raw_context }
      || null
      /* Cut */
    +-----------------+----------------------+----------+
    | Name            | Size                 | Contents |
    +=================+======================+==========+
    | Unnamed field 0 | Determined from data | $X_5     |
    +-----------------+----------------------+----------+
    
    
    X_3
    ***
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    X_2
    ***
    
    +-----------------+----------------------+----------+
    | Name            | Size                 | Contents |
    +=================+======================+==========+
    | Unnamed field 0 | Determined from data | $X_3     |
    +-----------------+----------------------+----------+
    | Unnamed field 1 | Determined from data | $X_5     |
    +-----------------+----------------------+----------+
    
    
    X_5 (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_2        |
    +-----------------------+----------+-------------------------+
    
    
    Cut (tag 2)
    ===========
    
    +------+--------+------------------------+
    | Name | Size   | Contents               |
    +======+========+========================+
    | Tag  | 1 byte | unsigned 8-bit integer |
    +------+--------+------------------------+
    
    
.. _GET_..--block_id--context--sapling--sapling_state_id--get_diff : **GET ..//context/sapling//get_diff?[offset_commitment=]&[offset_nullifier=]** .. raw:: html

Returns the root and a diff of a state starting from an optional offset which is zero by default.

Optional query arguments :

  • offset_commitment = <int64> : Commitments and ciphertexts are returned from the specified offset up to the most recent.
  • offset_nullifier = <int64> : 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]+$/
    $sapling.transaction.ciphertext:
      { "cv": $sapling.transaction.commitment_value,
        "epk": $sapling.DH.epk,
        "payload_enc": /^[a-zA-Z0-9]+$/,
        "nonce_enc": /^[a-zA-Z0-9]+$/,
        "payload_out": /^[a-zA-Z0-9]+$/,
        "nonce_out": /^[a-zA-Z0-9]+$/ }
    $sapling.transaction.commitment: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_hash: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_value: /^[a-zA-Z0-9]+$/
    $sapling.transaction.nullifier: /^[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 : **POST ..//context/seed** .. raw:: html

Seed of the cycle to which the block belongs.

    {  }
    +------+------+----------+
    | Name | Size | Contents |
    +======+======+==========+
    
    
    
    
    /^[a-zA-Z0-9]+$/
    +-----------------+----------+----------+
    | Name            | Size     | Contents |
    +=================+==========+==========+
    | Unnamed field 0 | 32 bytes | bytes    |
    +-----------------+----------+----------+
    
    
    
.. _POST_..--block_id--endorsing_power : **POST ..//endorsing_power** .. raw:: html

Get the endorsing power of an endorsement, that is, the number of slots that the endorser has

    { "endorsement_operation":
        { /* An operation's shell header. */
          "branch": $block_hash,
          "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
          "signature": $Signature },
      "chain_id": $Chain_id }
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Chain_id:
      /* Network identifier (Base58Check-encoded) */
      $unistring
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $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 |
    +=======================+==========+==========+
    | endorsement_operation | Variable | $X_0     |
    +-----------------------+----------+----------+
    | chain_id              | 4 bytes  | bytes    |
    +-----------------------+----------+----------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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_1
    ***
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | 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                  |
    +-----------------+----------+------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_1                                |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_0
    ***
    
    +-----------+----------+----------------------------------------------------+
    | Name      | Size     | Contents                                           |
    +===========+==========+====================================================+
    | branch    | 32 bytes | bytes                                              |
    +-----------+----------+----------------------------------------------------+
    | contents  | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +-----------+----------+----------------------------------------------------+
    | signature | 64 bytes | bytes                                              |
    +-----------+----------+----------------------------------------------------+
    
    
    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--hash : **GET ..//hash** .. raw:: html

The block's hash, its unique identifier.

    $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 |
    +============+==========+==========+
    | block_hash | 32 bytes | bytes    |
    +------------+----------+----------+
    
    
    
.. _GET_..--block_id--header : **GET ..//header** .. raw:: html

The whole block header.

    $block_header
    $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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $block_hash:
      /* A block identifier (Base58Check-encoded) */
      $unistring
    $block_header:
      /* Shell header
         Block header's shell-related content. It contains information such as
         the block level, its predecessor and timestamp. */
      { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $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]+$/ ... ]
    $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                            |
    +=======================================+==========+=====================================+
    | 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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 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--header--protocol_data : **GET ..//header/protocol_data** .. raw:: html

The version-specific fragment of the block header.

    { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
      "priority": integer ∈ [0, 2^16-1],
      "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
      "seed_nonce_hash"?: $cycle_nonce,
      "signature": $Signature }
    $Signature:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $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                            |
    +=======================================+==========+=====================================+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    
.. _GET_..--block_id--header--protocol_data--raw : **GET ..//header/protocol_data/raw** .. raw:: html

The version-specific fragment of the block header (unparsed).

    /^[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 : **GET ..//header/raw** .. raw:: html

The whole block header (unparsed).

    /^[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 : **GET ..//header/shell** .. raw:: html

The shell-specific fragment of the block header.

    $block_header.shell
    $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
    $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 }
    $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]+$/ ... ]
    $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--baking_rights : **GET ..//helpers/baking_rights?(level=)\*&(cycle=)\*&(delegate=)\*&[max_priority=]&[all]** .. raw:: html

Retrieves the list of delegates allowed to bake a block. By default, it gives the best baking priorities for bakers that have at least one opportunity below the 64th priority for the next block. Parameters `level` and `cycle` can be used to specify the (valid) level(s) in the past or future at which the baking rights have to be returned. When asked for (a) whole cycle(s), baking opportunities are given by default up to the priority 8. Parameter `delegate` can be used to restrict the results to the given delegates. If parameter `all` is set, all the baking opportunities for each baker at each level are returned, instead of just the first one. Returns the list of baking slots. Also returns the minimal timestamps that correspond to these slots. The timestamps are omitted for levels in the past, and are only estimates for levels later that the next block, based on the hypothesis that all predecessor blocks were baked at the first priority.

Optional query arguments :

  • level = <block_level>
  • cycle = <block_cycle>
  • delegate = <pkh>
  • max_priority = <int>
  • all

    [ { "level": integer ∈ [-2^31-1, 2^31],
        "delegate": $Signature.Public_key_hash,
        "priority": integer ∈ [0, 2^16-1],
        "estimated_time"?: $timestamp.protocol } ... ]
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (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] ... ] }
    +-----------------------+----------+-------------------------+
    | 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                  |
    +----------------------+----------+------------------------+
    
    
    X_0
    ***
    
    +--------------------------------------+----------+-------------------------------------+
    | Name                                 | Size     | Contents                            |
    +======================================+==========+=====================================+
    | level                                | 4 bytes  | signed 32-bit integer               |
    +--------------------------------------+----------+-------------------------------------+
    | delegate                             | 21 bytes | $public_key_hash                    |
    +--------------------------------------+----------+-------------------------------------+
    | priority                             | 2 bytes  | unsigned 16-bit integer             |
    +--------------------------------------+----------+-------------------------------------+
    | ? presence of field "estimated_time" | 1 byte   | boolean (0 for false, 255 for true) |
    +--------------------------------------+----------+-------------------------------------+
    | estimated_time                       | 8 bytes  | signed 64-bit integer               |
    +--------------------------------------+----------+-------------------------------------+
    
    
.. _GET_..--block_id--helpers--complete--prefix : **GET ..//helpers/complete/** .. raw:: html

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                   |
    +-----------------------+----------+-------------------------+
    
    
.. _GET_..--block_id--helpers--current_level : **GET ..//helpers/current_level?[offset=]** .. raw:: html

Returns the level of the interrogated block, or the one of a block located `offset` blocks after in the chain (or before when negative). For instance, the next block if `offset` is 1.

Optional query arguments :

  • offset = <int32>

    { "level":
        integer ∈ [-2^31-1, 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 block that starts protocol
           alpha. This is specific to the protocol alpha. Other protocols might
           or might not include a similar notion. */,
      "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 protocol alpha. */,
      "cycle_position":
        integer ∈ [-2^31-1, 2^31]
        /* The current level of the block relative to the first block of the
           current cycle. */,
      "voting_period":
        integer ∈ [-2^31-1, 2^31]
        /* The current voting period's index. Note that cycles are a
           protocol-specific notion. As a result, the voting period index
           starts at 0 with the first block of protocol alpha. This field is
           DEPRECATED: use `../votes/voting_period` RPC instead. */,
      "voting_period_position":
        integer ∈ [-2^31-1, 2^31]
        /* The current level of the block relative to the first block of the
           current voting period. This field is DEPRECATED: use
           `../votes/voting_period` RPC instead. */,
      "expected_commitment":
        boolean
        /* Tells wether the baker of this block has to commit a seed nonce
           hash. */ }
    +------------------------+---------+-------------------------------------+
    | 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               |
    +------------------------+---------+-------------------------------------+
    | voting_period          | 4 bytes | signed 32-bit integer               |
    +------------------------+---------+-------------------------------------+
    | voting_period_position | 4 bytes | signed 32-bit integer               |
    +------------------------+---------+-------------------------------------+
    | expected_commitment    | 1 byte  | boolean (0 for false, 255 for true) |
    +------------------------+---------+-------------------------------------+
    
    
    
.. _GET_..--block_id--helpers--endorsing_rights : **GET ..//helpers/endorsing_rights?(level=)\*&(cycle=)\*&(delegate=)\*** .. raw:: html

Retrieves the delegates allowed to endorse a block. By default, it gives the endorsement slots for delegates that have at least one in the next block. Parameters `level` and `cycle` can be used to specify the (valid) level(s) in the past or future at which the endorsement rights have to be returned. Parameter `delegate` can be used to restrict the results to the given delegates. Returns the list of endorsement slots. Also returns the minimal timestamps that correspond to these slots. The timestamps are omitted for levels in the past, and are only estimates for levels later that the next block, based on the hypothesis that all predecessor blocks were baked at the first priority.

Optional query arguments :

  • level = <block_level>
  • cycle = <block_cycle>
  • delegate = <pkh>

    [ { "level": integer ∈ [-2^31-1, 2^31],
        "delegate": $Signature.Public_key_hash,
        "slots": [ integer ∈ [0, 2^16-1] ... ],
        "estimated_time"?: $timestamp.protocol } ... ]
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (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] ... ] }
    +-----------------------+----------+-------------------------+
    | 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                  |
    +----------------------+----------+------------------------+
    
    
    X_0
    ***
    
    +--------------------------------------+----------+-------------------------------------+
    | Name                                 | Size     | Contents                            |
    +======================================+==========+=====================================+
    | level                                | 4 bytes  | signed 32-bit integer               |
    +--------------------------------------+----------+-------------------------------------+
    | delegate                             | 21 bytes | $public_key_hash                    |
    +--------------------------------------+----------+-------------------------------------+
    | # bytes in next field                | 4 bytes  | unsigned 30-bit integer             |
    +--------------------------------------+----------+-------------------------------------+
    | slots                                | Variable | sequence of unsigned 16-bit integer |
    +--------------------------------------+----------+-------------------------------------+
    | ? presence of field "estimated_time" | 1 byte   | boolean (0 for false, 255 for true) |
    +--------------------------------------+----------+-------------------------------------+
    | estimated_time                       | 8 bytes  | signed 64-bit integer               |
    +--------------------------------------+----------+-------------------------------------+
    
    
.. _POST_..--block_id--helpers--forge--operations : **POST ..//helpers/forge/operations** .. raw:: html

Forge an operation

    $008-PtEdo2Zk.operation.alpha.unsigned_operation
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.operation.alpha.unsigned_operation:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ] }
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $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                                           |
    +==========+==========+====================================================+
    | branch   | 32 bytes | bytes                                              |
    +----------+----------+----------------------------------------------------+
    | contents | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +----------+----------+----------------------------------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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_0
    ***
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | 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                  |
    +-----------------+----------+------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_0                                |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    /^[a-zA-Z0-9]+$/
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    
.. _POST_..--block_id--helpers--forge--protocol_data : **POST ..//helpers/forge/protocol_data** .. raw:: html

Forge the protocol-specific part of a block header

    { "priority": integer ∈ [0, 2^16-1],
      "nonce_hash"?: $cycle_nonce,
      "proof_of_work_nonce"?: /^[a-zA-Z0-9]+$/ }
    $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                            |
    +==================================+==========+=====================================+
    | priority                         | 2 bytes  | unsigned 16-bit integer             |
    +----------------------------------+----------+-------------------------------------+
    | ? presence of field "nonce_hash" | 1 byte   | boolean (0 for false, 255 for true) |
    +----------------------------------+----------+-------------------------------------+
    | nonce_hash                       | 32 bytes | bytes                               |
    +----------------------------------+----------+-------------------------------------+
    | proof_of_work_nonce              | 8 bytes  | bytes                               |
    +----------------------------------+----------+-------------------------------------+
    
    
    
    { "protocol_data": /^[a-zA-Z0-9]+$/ }
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | protocol_data         | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    
.. _POST_..--block_id--helpers--forge_block_header : **POST ..//helpers/forge_block_header** .. raw:: html

Forge a block header

    $block_header
    $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
    $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]+$/ }
    $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]+$/ ... ]
    $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]+$/ }
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | block                 | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    
.. _GET_..--block_id--helpers--levels_in_current_cycle : **GET ..//helpers/levels_in_current_cycle?[offset=]** .. raw:: html

Levels of a cycle

Optional query arguments :

  • offset = <int32>

    { "first": integer ∈ [-2^31-1, 2^31],
      "last": integer ∈ [-2^31-1, 2^31] }
    +-------+---------+-----------------------+
    | Name  | Size    | Contents              |
    +=======+=========+=======================+
    | first | 4 bytes | signed 32-bit integer |
    +-------+---------+-----------------------+
    | last  | 4 bytes | signed 32-bit integer |
    +-------+---------+-----------------------+
    
    
    
.. _POST_..--block_id--helpers--parse--block : **POST ..//helpers/parse/block** .. raw:: html

Parse a block

    $block_header
    $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
    $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]+$/ }
    $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]+$/ ... ]
    $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                   |
    +-----------------------+----------+-------------------------+
    
    
    $008-PtEdo2Zk.block_header.alpha.signed_contents
    $008-PtEdo2Zk.block_header.alpha.signed_contents:
      { "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $Signature:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $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                            |
    +=======================================+==========+=====================================+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    
.. _POST_..--block_id--helpers--parse--operations : **POST ..//helpers/parse/operations** .. raw:: html

Parse operations

    { "operations": [ $operation ... ],
      "check_signature"?: boolean }
    $block_hash:
      /* A block identifier (Base58Check-encoded) */
      $unistring
    $operation:
      /* 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. */
      { "branch": $block_hash,
        "data": /^[a-zA-Z0-9]+$/ }
    $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             |
    +---------------------------------------+----------+-------------------------------------+
    | operations                            | Variable | sequence of $X_0                    |
    +---------------------------------------+----------+-------------------------------------+
    | ? presence of field "check_signature" | 1 byte   | boolean (0 for false, 255 for true) |
    +---------------------------------------+----------+-------------------------------------+
    | check_signature                       | 1 byte   | boolean (0 for false, 255 for true) |
    +---------------------------------------+----------+-------------------------------------+
    
    
    X_0
    ***
    
    +--------------------------+----------+-------------------------+
    | Name                     | Size     | Contents                |
    +==========================+==========+=========================+
    | # bytes in next 2 fields | 4 bytes  | unsigned 30-bit integer |
    +--------------------------+----------+-------------------------+
    | branch                   | 32 bytes | bytes                   |
    +--------------------------+----------+-------------------------+
    | data                     | Variable | bytes                   |
    +--------------------------+----------+-------------------------+
    
    
    [ { /* An operation's shell header. */
        "branch": $block_hash,
        "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
        "signature": $Signature } ... ]
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $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                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_0        |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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_1
    ***
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | 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                  |
    +-----------------+----------+------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_1                                |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_0
    ***
    
    +--------------------------+----------+----------------------------------------------------+
    | Name                     | Size     | Contents                                           |
    +==========================+==========+====================================================+
    | # bytes in next 3 fields | 4 bytes  | unsigned 30-bit integer                            |
    +--------------------------+----------+----------------------------------------------------+
    | branch                   | 32 bytes | bytes                                              |
    +--------------------------+----------+----------------------------------------------------+
    | contents                 | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +--------------------------+----------+----------------------------------------------------+
    | signature                | 64 bytes | bytes                                              |
    +--------------------------+----------+----------------------------------------------------+
    
    
.. _POST_..--block_id--helpers--preapply--block : **POST ..//helpers/preapply/block?[sort]&[timestamp=]** .. raw:: html

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": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
          "priority": integer ∈ [0, 2^16-1],
          "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
          "seed_nonce_hash"?: $cycle_nonce,
          "signature": $Signature },
      "operations": [ [ $next_operation ... ] ... ] }
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $next_operation:
      /* An operation's shell header. */
      { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "branch": $block_hash,
        "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
        "signature": $Signature }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $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                |
    +=======================+======================+=========================+
    | protocol_data         | Determined from data | $X_0                    |
    +-----------------------+----------------------+-------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
    +-----------------------+----------------------+-------------------------+
    | operations            | Variable             | sequence of $X_1        |
    +-----------------------+----------------------+-------------------------+
    
    
    X_0
    ***
    
    +---------------------------------------+----------+-------------------------------------+
    | Name                                  | Size     | Contents                            |
    +=======================================+==========+=====================================+
    | # bytes in next 5 fields              | 4 bytes  | unsigned 30-bit integer             |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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_2
    ***
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | 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                  |
    +-----------------+----------+------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_2                                |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    next_operation
    **************
    
    +--------------------------+----------+----------------------------------------------------+
    | Name                     | Size     | Contents                                           |
    +==========================+==========+====================================================+
    | # 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                 | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +--------------------------+----------+----------------------------------------------------+
    | signature                | 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 $next_operation |
    +--------------------------+----------+-----------------------------+
    
    
    { "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]+$/ } ... ],
            "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]+$/,
                  "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]+$/,
                  "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]+$/,
                  "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 error 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]+$/ ... ]
    $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_4
    ***
    
    +--------------------------+----------+-------------------------+
    | 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_4        |
    +-----------------------+----------+-------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | branch_refused        | Variable | sequence of $X_4        |
    +-----------------------+----------+-------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | branch_delayed        | Variable | sequence of $X_4        |
    +-----------------------+----------+-------------------------+
    
    
.. _POST_..--block_id--helpers--preapply--operations : **POST ..//helpers/preapply/operations** .. raw:: html

Simulate the validation of an operation.

    [ $next_operation ... ]
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $next_operation:
      /* An operation's shell header. */
      { "protocol": "PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA",
        "branch": $block_hash,
        "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
        "signature": $Signature }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $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                    |
    +=======================+==========+=============================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer     |
    +-----------------------+----------+-----------------------------+
    | Unnamed field 0       | Variable | sequence of $next_operation |
    +-----------------------+----------+-----------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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_0
    ***
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | 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                  |
    +-----------------+----------+------------------------+
    
    
    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                  |
    +----------------------+----------+------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_0                                |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    next_operation
    **************
    
    +--------------------------+----------+----------------------------------------------------+
    | Name                     | Size     | Contents                                           |
    +==========================+==========+====================================================+
    | # 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                 | Variable | sequence of $008-PtEdo2Zk.operation.alpha.contents |
    +--------------------------+----------+----------------------------------------------------+
    | signature                | 64 bytes | bytes                                              |
    +--------------------------+----------+----------------------------------------------------+
    
    
    [ $008-PtEdo2Zk.operation.alpha.operation_with_metadata ... ]
    $008-PtEdo2Zk.big_map_id:
      /* Big map identifier
         A big map identifier */
      $bignum
    $008-PtEdo2Zk.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,
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature }
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.entrypoint:
      /* entrypoint
         Named entrypoint to a Michelson smart contract */
      "default"
      || "root"
      || "do"
      || "set_delegate"
      || "remove_delegate"
      || string
      /* named */
    $008-PtEdo2Zk.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
    $008-PtEdo2Zk.inlined.endorsement:
      /* An operation's shell header. */
      { "branch": $block_hash,
        "operations": $008-PtEdo2Zk.inlined.endorsement.contents,
        "signature"?: $Signature }
    $008-PtEdo2Zk.inlined.endorsement.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
    $008-PtEdo2Zk.lazy_storage_diff:
      [ { /* big_map */
          "kind": "big_map",
          "id": $008-PtEdo2Zk.big_map_id,
          "diff":
            { /* update */
              "action": "update",
              "updates":
                [ { "key_hash": $script_expr,
                    "key":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value"?:
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ] }
            || { /* remove */
                 "action": "remove" }
            || { /* copy */
                 "action": "copy",
                 "source": $008-PtEdo2Zk.big_map_id,
                 "updates":
                   [ { "key_hash": $script_expr,
                       "key":
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] },
                       "value"?:
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] } } ... ] }
            || { /* alloc */
                 "action": "alloc",
                 "updates":
                   [ { "key_hash": $script_expr,
                       "key":
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] },
                       "value"?:
                         { /* Int */
                           "int": $bignum }
                         || { /* String */
                              "string": $unistring }
                         || { /* Bytes */
                              "bytes": /^[a-zA-Z0-9]+$/ }
                         || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                         /* Sequence */
                         || { /* Generic prim (any number of args with or
                                 without annot) */
                              "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                              "args"?:
                                [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                              "annots"?: [ string ... ] } } ... ],
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } }
        || { /* sapling_state */
             "kind": "sapling_state",
             "id": $008-PtEdo2Zk.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": $008-PtEdo2Zk.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] } } ... ]
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $008-PtEdo2Zk.mutez: $positive_bignum
    $008-PtEdo2Zk.operation.alpha.contents:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31] }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/ }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[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": $008-PtEdo2Zk.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": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash }
    $008-PtEdo2Zk.operation.alpha.internal_operation_result:
      { /* reveal */
        "kind": "reveal",
        "source": $008-PtEdo2Zk.contract_id,
        "nonce": integer ∈ [0, 2^16-1],
        "public_key": $Signature.Public_key,
        "result": $008-PtEdo2Zk.operation.alpha.operation_result.reveal }
      || { /* transaction */
           "kind": "transaction",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } },
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.transaction }
      || { /* origination */
           "kind": "origination",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts,
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.origination }
      || { /* delegation */
           "kind": "delegation",
           "source": $008-PtEdo2Zk.contract_id,
           "nonce": integer ∈ [0, 2^16-1],
           "delegate"?: $Signature.Public_key_hash,
           "result": $008-PtEdo2Zk.operation.alpha.operation_result.delegation }
    $008-PtEdo2Zk.operation.alpha.operation_contents_and_result:
      { /* Endorsement */
        "kind": "endorsement",
        "level": integer ∈ [-2^31-1, 2^31],
        "metadata":
          { "balance_updates":
              $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
            "delegate": $Signature.Public_key_hash,
            "slots": [ integer ∈ [0, 255] ... ] } }
      || { /* Seed_nonce_revelation */
           "kind": "seed_nonce_revelation",
           "level": integer ∈ [-2^31-1, 2^31],
           "nonce": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Double_endorsement_evidence */
           "kind": "double_endorsement_evidence",
           "op1": $008-PtEdo2Zk.inlined.endorsement,
           "op2": $008-PtEdo2Zk.inlined.endorsement,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Double_baking_evidence */
           "kind": "double_baking_evidence",
           "bh1": $008-PtEdo2Zk.block_header.alpha.full_header,
           "bh2": $008-PtEdo2Zk.block_header.alpha.full_header,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates } }
      || { /* Activate_account */
           "kind": "activate_account",
           "pkh": $Ed25519.Public_key_hash,
           "secret": /^[a-zA-Z0-9]+$/,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.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": {  } }
      || { /* Reveal */
           "kind": "reveal",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "public_key": $Signature.Public_key,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.reveal,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Transaction */
           "kind": "transaction",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "amount": $008-PtEdo2Zk.mutez,
           "destination": $008-PtEdo2Zk.contract_id,
           "parameters"?:
             { "entrypoint": $008-PtEdo2Zk.entrypoint,
               "value":
                 { /* Int */
                   "int": $bignum }
                 || { /* String */
                      "string": $unistring }
                 || { /* Bytes */
                      "bytes": /^[a-zA-Z0-9]+$/ }
                 || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                 /* Sequence */
                 || { /* Generic prim (any number of args with or without
                         annot) */
                      "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                      "args"?:
                        [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                      "annots"?: [ string ... ] } },
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.transaction,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Origination */
           "kind": "origination",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "balance": $008-PtEdo2Zk.mutez,
           "delegate"?: $Signature.Public_key_hash,
           "script": $008-PtEdo2Zk.scripted.contracts,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.origination,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
      || { /* Delegation */
           "kind": "delegation",
           "source": $Signature.Public_key_hash,
           "fee": $008-PtEdo2Zk.mutez,
           "counter": $positive_bignum,
           "gas_limit": $positive_bignum,
           "storage_limit": $positive_bignum,
           "delegate"?: $Signature.Public_key_hash,
           "metadata":
             { "balance_updates":
                 $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
               "operation_result":
                 $008-PtEdo2Zk.operation.alpha.operation_result.delegation,
               "internal_operation_results"?:
                 [ $008-PtEdo2Zk.operation.alpha.internal_operation_result ... ] } }
    $008-PtEdo2Zk.operation.alpha.operation_result.delegation:
      { /* Applied */
        "status": "applied",
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum }
    $008-PtEdo2Zk.operation.alpha.operation_result.origination:
      { /* Applied */
        "status": "applied",
        "big_map_diff"?:
          [ { /* update */
              "action": "update",
              "big_map": $bignum,
              "key_hash": $script_expr,
              "key":
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] },
              "value"?:
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] } }
            || { /* remove */
                 "action": "remove",
                 "big_map": $bignum }
            || { /* copy */
                 "action": "copy",
                 "source_big_map": $bignum,
                 "destination_big_map": $bignum }
            || { /* alloc */
                 "action": "alloc",
                 "big_map": $bignum,
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } ... ],
        "balance_updates"?:
          $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum,
        "storage_size"?: $bignum,
        "paid_storage_size_diff"?: $bignum,
        "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "big_map_diff"?:
             [ { /* update */
                 "action": "update",
                 "big_map": $bignum,
                 "key_hash": $script_expr,
                 "key":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value"?:
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } }
               || { /* remove */
                    "action": "remove",
                    "big_map": $bignum }
               || { /* copy */
                    "action": "copy",
                    "source_big_map": $bignum,
                    "destination_big_map": $bignum }
               || { /* alloc */
                    "action": "alloc",
                    "big_map": $bignum,
                    "key_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ],
           "balance_updates"?:
             $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
           "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum,
           "storage_size"?: $bignum,
           "paid_storage_size_diff"?: $bignum,
           "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
    $008-PtEdo2Zk.operation.alpha.operation_result.reveal:
      { /* Applied */
        "status": "applied",
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum }
    $008-PtEdo2Zk.operation.alpha.operation_result.transaction:
      { /* Applied */
        "status": "applied",
        "storage"?:
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "big_map_diff"?:
          [ { /* update */
              "action": "update",
              "big_map": $bignum,
              "key_hash": $script_expr,
              "key":
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] },
              "value"?:
                { /* Int */
                  "int": $bignum }
                || { /* String */
                     "string": $unistring }
                || { /* Bytes */
                     "bytes": /^[a-zA-Z0-9]+$/ }
                || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                /* Sequence */
                || { /* Generic prim (any number of args with or without annot) */
                     "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                     "args"?:
                       [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                     "annots"?: [ string ... ] } }
            || { /* remove */
                 "action": "remove",
                 "big_map": $bignum }
            || { /* copy */
                 "action": "copy",
                 "source_big_map": $bignum,
                 "destination_big_map": $bignum }
            || { /* alloc */
                 "action": "alloc",
                 "big_map": $bignum,
                 "key_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value_type":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } } ... ],
        "balance_updates"?:
          $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
        "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
        "consumed_gas"?: $positive_bignum,
        "consumed_milligas"?: $positive_bignum,
        "storage_size"?: $bignum,
        "paid_storage_size_diff"?: $bignum,
        "allocated_destination_contract"?: boolean,
        "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
      || { /* Failed */
           "status": "failed",
           "errors": [ $008-PtEdo2Zk.error ... ] }
      || { /* Skipped */
           "status": "skipped" }
      || { /* Backtracked */
           "status": "backtracked",
           "errors"?: [ $008-PtEdo2Zk.error ... ],
           "storage"?:
             { /* Int */
               "int": $bignum }
             || { /* String */
                  "string": $unistring }
             || { /* Bytes */
                  "bytes": /^[a-zA-Z0-9]+$/ }
             || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
             /* Sequence */
             || { /* Generic prim (any number of args with or without annot) */
                  "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                  "args"?:
                    [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                  "annots"?: [ string ... ] },
           "big_map_diff"?:
             [ { /* update */
                 "action": "update",
                 "big_map": $bignum,
                 "key_hash": $script_expr,
                 "key":
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] },
                 "value"?:
                   { /* Int */
                     "int": $bignum }
                   || { /* String */
                        "string": $unistring }
                   || { /* Bytes */
                        "bytes": /^[a-zA-Z0-9]+$/ }
                   || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                   /* Sequence */
                   || { /* Generic prim (any number of args with or without
                           annot) */
                        "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                        "args"?:
                          [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                        "annots"?: [ string ... ] } }
               || { /* remove */
                    "action": "remove",
                    "big_map": $bignum }
               || { /* copy */
                    "action": "copy",
                    "source_big_map": $bignum,
                    "destination_big_map": $bignum }
               || { /* alloc */
                    "action": "alloc",
                    "big_map": $bignum,
                    "key_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] },
                    "value_type":
                      { /* Int */
                        "int": $bignum }
                      || { /* String */
                           "string": $unistring }
                      || { /* Bytes */
                           "bytes": /^[a-zA-Z0-9]+$/ }
                      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
                      /* Sequence */
                      || { /* Generic prim (any number of args with or without
                              annot) */
                           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
                           "args"?:
                             [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
                           "annots"?: [ string ... ] } } ... ],
           "balance_updates"?:
             $008-PtEdo2Zk.operation_metadata.alpha.balance_updates,
           "originated_contracts"?: [ $008-PtEdo2Zk.contract_id ... ],
           "consumed_gas"?: $positive_bignum,
           "consumed_milligas"?: $positive_bignum,
           "storage_size"?: $bignum,
           "paid_storage_size_diff"?: $bignum,
           "allocated_destination_contract"?: boolean,
           "lazy_storage_diff"?: $008-PtEdo2Zk.lazy_storage_diff }
    $008-PtEdo2Zk.operation.alpha.operation_with_metadata:
      { /* Operation_with_metadata */
        "contents":
          [ $008-PtEdo2Zk.operation.alpha.operation_contents_and_result ... ],
        "signature"?: $Signature }
      || { /* Operation_without_metadata */
           "contents": [ $008-PtEdo2Zk.operation.alpha.contents ... ],
           "signature"?: $Signature }
    $008-PtEdo2Zk.operation_metadata.alpha.balance_updates:
      [ { /* Contract */
          "kind": "contract",
          "contract": $008-PtEdo2Zk.contract_id,
          "change": $int64 }
        || { /* Rewards */
             "kind": "freezer",
             "category": "rewards",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 }
        || { /* Fees */
             "kind": "freezer",
             "category": "fees",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 }
        || { /* Deposits */
             "kind": "freezer",
             "category": "deposits",
             "delegate": $Signature.Public_key_hash,
             "cycle": integer ∈ [-2^31-1, 2^31],
             "change": $int64 } ... ]
    $008-PtEdo2Zk.sapling_state_id:
      /* Sapling state identifier
         A sapling state identifier */
      $bignum
    $008-PtEdo2Zk.scripted.contracts:
      { "code":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] },
        "storage":
          { /* Int */
            "int": $bignum }
          || { /* String */
               "string": $unistring }
          || { /* Bytes */
               "bytes": /^[a-zA-Z0-9]+$/ }
          || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
          /* Sequence */
          || { /* Generic prim (any number of args with or without annot) */
               "prim": $008-PtEdo2Zk.michelson.v1.primitives,
               "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
               "annots"?: [ string ... ] } }
    $Context_hash:
      /* A hash of context (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:
      /* A Ed25519, Secp256k1 or P256 signature (Base58Check-encoded) */
      $unistring
    $Signature.Public_key:
      /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */
      $unistring
    $Signature.Public_key_hash:
      /* A Ed25519, Secp256k1, or P256 public key hash (Base58Check-encoded) */
      $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]+$/ ... ]
    $int64:
      /* 64 bit integers
         Decimal representation of 64 bit integers */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ string ... ] }
    $positive_bignum:
      /* Positive big number
         Decimal representation of a positive big number */
      string
    $sapling.DH.epk: /^[a-zA-Z0-9]+$/
    $sapling.transaction.ciphertext:
      { "cv": $sapling.transaction.commitment_value,
        "epk": $sapling.DH.epk,
        "payload_enc": /^[a-zA-Z0-9]+$/,
        "nonce_enc": /^[a-zA-Z0-9]+$/,
        "payload_out": /^[a-zA-Z0-9]+$/,
        "nonce_out": /^[a-zA-Z0-9]+$/ }
    $sapling.transaction.commitment: /^[a-zA-Z0-9]+$/
    $sapling.transaction.commitment_value: /^[a-zA-Z0-9]+$/
    $sapling.transaction.nullifier: /^[a-zA-Z0-9]+$/
    $script_expr:
      /* A script expression ID (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] ... ] }
    +-----------------------+----------+-------------------------+
    | 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       | Determined from data | $X_2620                 |
    +-----------------------+----------------------+-------------------------+
    
    
    X_2620 (Determined from data, 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 $008-PtEdo2Zk.operation.alpha.operation_contents_and_result |
    +---------------------------------+----------+-------------------------------------------------------------------------+
    | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                                     |
    +---------------------------------+----------+-------------------------------------------------------------------------+
    | signature                       | 64 bytes | 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 $008-PtEdo2Zk.operation.alpha.contents |
    +---------------------------------+----------+----------------------------------------------------+
    | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                |
    +---------------------------------+----------+----------------------------------------------------+
    | signature                       | 64 bytes | bytes                                              |
    +---------------------------------+----------+----------------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_contents_and_result (Determined from data, 8-bit tag)
    ********************************************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +----------+----------------------+------------------------+
    | Name     | Size                 | Contents               |
    +==========+======================+========================+
    | Tag      | 1 byte               | unsigned 8-bit integer |
    +----------+----------------------+------------------------+
    | level    | 4 bytes              | signed 32-bit integer  |
    +----------+----------------------+------------------------+
    | metadata | Determined from data | $X_2617                |
    +----------+----------------------+------------------------+
    
    
    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 | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +----------+----------------------+--------------------------------------------------------+
    
    
    Double_endorsement_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             | $008-PtEdo2Zk.inlined.endorsement                      |
    +-----------------------+----------------------+--------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
    +-----------------------+----------------------+--------------------------------------------------------+
    | op2                   | Variable             | $008-PtEdo2Zk.inlined.endorsement                      |
    +-----------------------+----------------------+--------------------------------------------------------+
    | metadata              | Determined from data | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +-----------------------+----------------------+--------------------------------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header           |
    +-----------------------+----------------------+--------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
    +-----------------------+----------------------+--------------------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header           |
    +-----------------------+----------------------+--------------------------------------------------------+
    | metadata              | Determined from data | $008-PtEdo2Zk.operation_metadata.alpha.balance_updates |
    +-----------------------+----------------------+--------------------------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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_2086                |
    +---------------+----------------------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_2340                             |
    +----------------------------------+----------------------+-------------------------------------+
    | metadata                         | Determined from data | $X_1297                             |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.scripted.contracts    |
    +--------------------------------+----------------------+-------------------------------------+
    | metadata                       | Determined from data | $X_525                              |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    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_2086                             |
    +--------------------------------+----------------------+-------------------------------------+
    
    
    X_2617
    ******
    
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | Name                                                                     | Size     | Contents                           |
    +==========================================================================+==========+====================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer            |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | balance_updates                                                          | Variable | sequence of $X_3                   |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | delegate                                                                 | 21 bytes | $public_key_hash                   |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | # bytes in next field                                                    | 4 bytes  | unsigned 30-bit integer            |
    +--------------------------------------------------------------------------+----------+------------------------------------+
    | slots                                                                    | Variable | sequence of unsigned 8-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                  |
    +----------------------+----------+------------------------+
    
    
    X_2619 (Determined from data, 8-bit tag)
    ****************************************
    
    Contract (tag 0)
    ================
    
    +----------+----------+---------------------------+
    | Name     | Size     | Contents                  |
    +==========+==========+===========================+
    | Tag      | 1 byte   | unsigned 8-bit integer    |
    +----------+----------+---------------------------+
    | contract | 22 bytes | $008-PtEdo2Zk.contract_id |
    +----------+----------+---------------------------+
    
    
    Rewards (tag 1)
    ===============
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    Fees (tag 2)
    ============
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    Deposits (tag 3)
    ================
    
    +----------+----------+------------------------+
    | Name     | Size     | Contents               |
    +==========+==========+========================+
    | Tag      | 1 byte   | unsigned 8-bit integer |
    +----------+----------+------------------------+
    | delegate | 21 bytes | $public_key_hash       |
    +----------+----------+------------------------+
    | cycle    | 4 bytes  | signed 32-bit integer  |
    +----------+----------+------------------------+
    
    
    008-PtEdo2Zk.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                |
    +---------------+----------+------------------------+
    
    
    008-PtEdo2Zk.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_3        |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement
    ********************************
    
    +------------+----------+--------------------------------------------+
    | Name       | Size     | Contents                                   |
    +============+==========+============================================+
    | branch     | 32 bytes | bytes                                      |
    +------------+----------+--------------------------------------------+
    | operations | 5 bytes  | $008-PtEdo2Zk.inlined.endorsement.contents |
    +------------+----------+--------------------------------------------+
    | signature  | Variable | bytes                                      |
    +------------+----------+--------------------------------------------+
    
    
    008-PtEdo2Zk.inlined.endorsement.contents (5 bytes, 8-bit tag)
    **************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    008-PtEdo2Zk.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                               |
    +---------------------------------------+----------+-------------------------------------+
    | priority                              | 2 bytes  | unsigned 16-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                               |
    +---------------------------------------+----------+-------------------------------------+
    | signature                             | 64 bytes | bytes                               |
    +---------------------------------------+----------+-------------------------------------+
    
    
    fitness.elem
    ************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | bytes                   |
    +-----------------------+----------+-------------------------+
    
    
    X_2086
    ******
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                                                    |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.delegation           |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    N.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). Size bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | N.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    008-PtEdo2Zk.error
    ******************
    
    +--------------------------+----------+-------------------------+
    | 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 | bytes                   |
    +--------------------------+----------+-------------------------+
    
    
    X_2608
    ******
    
    +-----------------------+----------+---------------------------------+
    | Name                  | Size     | Contents                        |
    +=======================+==========+=================================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer         |
    +-----------------------+----------+---------------------------------+
    | Unnamed field 0       | Variable | sequence of $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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                  |
    +-----------------+----------+------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.transaction (Determined from data, 8-bit tag)
    *******************************************************************************************
    
    Applied (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 | $X_17                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_8                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                      |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2608                               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | storage                                                                  | Determined from data | $X_17                                 |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_8                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                      |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.lazy_storage_diff       |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    
    
    X_2607 (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_130                 |
    +------+----------------------+------------------------+
    
    
    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_2530                |
    +------+----------------------+------------------------+
    
    
    X_2587
    ******
    
    +-----------------------------+----------------------+-------------------------------------+
    | Name                        | Size                 | Contents                            |
    +=============================+======================+=====================================+
    | key_hash                    | 32 bytes             | bytes                               |
    +-----------------------------+----------------------+-------------------------------------+
    | key                         | Determined from data | $X_17                               |
    +-----------------------------+----------------------+-------------------------------------+
    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true) |
    +-----------------------------+----------------------+-------------------------------------+
    | value                       | Determined from data | $X_17                               |
    +-----------------------------+----------------------+-------------------------------------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    008-PtEdo2Zk.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   |
    +-------------+-----------------------+
    | 133         | SAPLING_EMPTY_STATE   |
    +-------------+-----------------------+
    | 134         | SAPLING_VERIFY_UPDATE |
    +-------------+-----------------------+
    | 135         | ticket                |
    +-------------+-----------------------+
    | 136         | TICKET                |
    +-------------+-----------------------+
    | 137         | READ_TICKET           |
    +-------------+-----------------------+
    | 138         | SPLIT_TICKET          |
    +-------------+-----------------------+
    | 139         | JOIN_TICKETS          |
    +-------------+-----------------------+
    | 140         | GET_AND_UPDATE        |
    +-------------+-----------------------+
    
    
    X_2530 (Determined from data, 8-bit tag)
    ****************************************
    
    update (tag 0)
    ==============
    
    +---------+----------------------+------------------------+
    | Name    | Size                 | Contents               |
    +=========+======================+========================+
    | Tag     | 1 byte               | unsigned 8-bit integer |
    +---------+----------------------+------------------------+
    | updates | Determined from data | $X_48                  |
    +---------+----------------------+------------------------+
    
    
    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_48                  |
    +---------+----------------------+------------------------+
    
    
    alloc (tag 3)
    =============
    
    +-----------+----------------------+-------------------------+
    | Name      | Size                 | Contents                |
    +===========+======================+=========================+
    | Tag       | 1 byte               | unsigned 8-bit integer  |
    +-----------+----------------------+-------------------------+
    | updates   | Determined from data | $X_48                   |
    +-----------+----------------------+-------------------------+
    | memo_size | 2 bytes              | unsigned 16-bit integer |
    +-----------+----------------------+-------------------------+
    
    
    X_2529
    ******
    
    +-----------------+----------------------+---------------------------------+
    | Name            | Size                 | Contents                        |
    +=================+======================+=================================+
    | Unnamed field 0 | 32 bytes             | bytes                           |
    +-----------------+----------------------+---------------------------------+
    | Unnamed field 1 | Determined from data | $sapling.transaction.ciphertext |
    +-----------------+----------------------+---------------------------------+
    
    
    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_2521 (Determined from data, 8-bit tag)
    ****************************************
    
    update (tag 0)
    ==============
    
    +-----------------------------+----------------------+-------------------------------------+
    | Name                        | Size                 | Contents                            |
    +=============================+======================+=====================================+
    | Tag                         | 1 byte               | unsigned 8-bit integer              |
    +-----------------------------+----------------------+-------------------------------------+
    | big_map                     | Determined from data | $Z.t                                |
    +-----------------------------+----------------------+-------------------------------------+
    | key_hash                    | 32 bytes             | bytes                               |
    +-----------------------------+----------------------+-------------------------------------+
    | key                         | Determined from data | $X_17                               |
    +-----------------------------+----------------------+-------------------------------------+
    | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true) |
    +-----------------------------+----------------------+-------------------------------------+
    | value                       | Determined from data | $X_17                               |
    +-----------------------------+----------------------+-------------------------------------+
    
    
    remove (tag 1)
    ==============
    
    +---------+----------------------+------------------------+
    | Name    | Size                 | Contents               |
    +=========+======================+========================+
    | Tag     | 1 byte               | unsigned 8-bit integer |
    +---------+----------------------+------------------------+
    | big_map | Determined from data | $Z.t                   |
    +---------+----------------------+------------------------+
    
    
    copy (tag 2)
    ============
    
    +---------------------+----------------------+------------------------+
    | Name                | Size                 | Contents               |
    +=====================+======================+========================+
    | Tag                 | 1 byte               | unsigned 8-bit integer |
    +---------------------+----------------------+------------------------+
    | source_big_map      | Determined from data | $Z.t                   |
    +---------------------+----------------------+------------------------+
    | destination_big_map | Determined from data | $Z.t                   |
    +---------------------+----------------------+------------------------+
    
    
    alloc (tag 3)
    =============
    
    +------------+----------------------+------------------------+
    | Name       | Size                 | Contents               |
    +============+======================+========================+
    | Tag        | 1 byte               | unsigned 8-bit integer |
    +------------+----------------------+------------------------+
    | big_map    | Determined from data | $Z.t                   |
    +------------+----------------------+------------------------+
    | key_type   | Determined from data | $X_17                  |
    +------------+----------------------+------------------------+
    | value_type | Determined from data | $X_17                  |
    +------------+----------------------+------------------------+
    
    
    X_2340
    ******
    
    +-----------------------+----------------------+--------------------------+
    | Name                  | Size                 | Contents                 |
    +=======================+======================+==========================+
    | entrypoint            | Determined from data | $008-PtEdo2Zk.entrypoint |
    +-----------------------+----------------------+--------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer  |
    +-----------------------+----------------------+--------------------------+
    | value                 | Variable             | bytes                    |
    +-----------------------+----------------------+--------------------------+
    
    
    008-PtEdo2Zk.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 |
    +------+--------+------------------------+
    
    
    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                  |
    +-----------------------+----------+------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.origination (Determined from data, 8-bit tag)
    *******************************************************************************************
    
    Applied (tag 0)
    ===============
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | Name                                                                     | Size                 | Contents                              |
    +==========================================================================+======================+=======================================+
    | Tag                                                                      | 1 byte               | unsigned 8-bit integer                |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_8                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                      |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2608                               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | big_map_diff                                                             | Determined from data | $X_8                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                      |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | originated_contracts                                                     | Variable             | sequence of $008-PtEdo2Zk.contract_id |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | consumed_gas                                                             | Determined from data | $N.t                                  |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    | 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 | $008-PtEdo2Zk.lazy_storage_diff       |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------+
    
    
    008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    X_1297
    ******
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                                                    |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.transaction          |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    X_525
    *****
    
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | Name                                                                     | Size                 | Contents                                                            |
    +==========================================================================+======================+=====================================================================+
    | # bytes in field "008-PtEdo2Zk.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | balance_updates                                                          | Variable             | sequence of $X_3                                                    |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | operation_result                                                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.origination          |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    | internal_operation_results                                               | Variable             | sequence of $008-PtEdo2Zk.operation.alpha.internal_operation_result |
    +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.internal_operation_result (Determined from data, 8-bit tag)
    ****************************************************************************************
    
    reveal (tag 0)
    ==============
    
    +------------+----------------------+-----------------------------------------------------------+
    | Name       | Size                 | Contents                                                  |
    +============+======================+===========================================================+
    | Tag        | 1 byte               | unsigned 8-bit integer                                    |
    +------------+----------------------+-----------------------------------------------------------+
    | source     | 22 bytes             | $008-PtEdo2Zk.contract_id                                 |
    +------------+----------------------+-----------------------------------------------------------+
    | nonce      | 2 bytes              | unsigned 16-bit integer                                   |
    +------------+----------------------+-----------------------------------------------------------+
    | public_key | Determined from data | $public_key                                               |
    +------------+----------------------+-----------------------------------------------------------+
    | result     | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.delegation |
    +------------+----------------------+-----------------------------------------------------------+
    
    
    transaction (tag 1)
    ===================
    
    +----------------------------------+----------------------+------------------------------------------------------------+
    | Name                             | Size                 | Contents                                                   |
    +==================================+======================+============================================================+
    | Tag                              | 1 byte               | unsigned 8-bit integer                                     |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | source                           | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | nonce                            | 2 bytes              | unsigned 16-bit integer                                    |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | amount                           | Determined from data | $N.t                                                       |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | destination                      | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true)                        |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | parameters                       | Determined from data | $X_2340                                                    |
    +----------------------------------+----------------------+------------------------------------------------------------+
    | result                           | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.transaction |
    +----------------------------------+----------------------+------------------------------------------------------------+
    
    
    origination (tag 2)
    ===================
    
    +--------------------------------+----------------------+------------------------------------------------------------+
    | Name                           | Size                 | Contents                                                   |
    +================================+======================+============================================================+
    | Tag                            | 1 byte               | unsigned 8-bit integer                                     |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | source                         | 22 bytes             | $008-PtEdo2Zk.contract_id                                  |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | 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 | $008-PtEdo2Zk.scripted.contracts                           |
    +--------------------------------+----------------------+------------------------------------------------------------+
    | result                         | Determined from data | $008-PtEdo2Zk.operation.alpha.operation_result.origination |
    +--------------------------------+----------------------+------------------------------------------------------------+
    
    
    delegation (tag 3)
    ==================
    
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | Name                           | Size                 | Contents                                                  |
    +================================+======================+===========================================================+
    | Tag                            | 1 byte               | unsigned 8-bit integer                                    |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | source                         | 22 bytes             | $008-PtEdo2Zk.contract_id                                 |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    | 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 | $008-PtEdo2Zk.operation.alpha.operation_result.delegation |
    +--------------------------------+----------------------+-----------------------------------------------------------+
    
    
    008-PtEdo2Zk.lazy_storage_diff
    ******************************
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_2607     |
    +-----------------------+----------+-------------------------+
    
    
    X_130 (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_2587     |
    +-----------------------+----------+-------------------------+
    
    
    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_2587     |
    +-----------------------+----------------------+-------------------------+
    
    
    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_2587     |
    +-----------------------+----------------------+-------------------------+
    | key_type              | Determined from data | $X_17                   |
    +-----------------------+----------------------+-------------------------+
    | value_type            | Determined from data | $X_17                   |
    +-----------------------+----------------------+-------------------------+
    
    
    X_48
    ****
    
    +-----------------------------+----------+-------------------------+
    | Name                        | Size     | Contents                |
    +=============================+==========+=========================+
    | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
    +-----------------------------+----------+-------------------------+
    | commitments_and_ciphertexts | Variable | sequence of $X_2529     |
    +-----------------------------+----------+-------------------------+
    | # bytes in next field       | 4 bytes  | unsigned 30-bit integer |
    +-----------------------------+----------+-------------------------+
    | nullifiers                  | Variable | sequence of bytes       |
    +-----------------------------+----------+-------------------------+
    
    
    X_8
    ***
    
    +-----------------------+----------+-------------------------+
    | Name                  | Size     | Contents                |
    +=======================+==========+=========================+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer |
    +-----------------------+----------+-------------------------+
    | Unnamed field 0       | Variable | sequence of $X_2521     |
    +-----------------------+----------+-------------------------+
    
    
    X_17 (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 $X_17       |
    +-----------------------+----------+-------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $X_17                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $X_17                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $X_17                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $X_17                                                                                     |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $X_17                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $X_17                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $X_17                                                                         |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # 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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.operation.alpha.operation_result.delegation (Determined from data, 8-bit tag)
    ******************************************************************************************
    
    Applied (tag 0)
    ===============
    
    +-------------------+----------------------+------------------------+
    | Name              | Size                 | Contents               |
    +===================+======================+========================+
    | Tag               | 1 byte               | unsigned 8-bit integer |
    +-------------------+----------------------+------------------------+
    | consumed_gas      | Determined from data | $N.t                   |
    +-------------------+----------------------+------------------------+
    | 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 $008-PtEdo2Zk.error |
    +-----------------------+----------+---------------------------------+
    
    
    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_2608                             |
    +------------------------------+----------------------+-------------------------------------+
    | consumed_gas                 | Determined from data | $N.t                                |
    +------------------------------+----------------------+-------------------------------------+
    | consumed_milligas            | Determined from data | $N.t                                |
    +------------------------------+----------------------+-------------------------------------+
    
    
    X_3
    ***
    
    +-----------------+----------------------+-----------------------+
    | Name            | Size                 | Contents              |
    +=================+======================+=======================+
    | Unnamed field 0 | Determined from data | $X_2619               |
    +-----------------+----------------------+-----------------------+
    | change          | 8 bytes              | signed 64-bit integer |
    +-----------------+----------------------+-----------------------+
    
    
    008-PtEdo2Zk.operation.alpha.contents (Determined from data, 8-bit tag)
    ***********************************************************************
    
    Endorsement (tag 0)
    ===================
    
    +-------+---------+------------------------+
    | Name  | Size    | Contents               |
    +=======+=========+========================+
    | Tag   | 1 byte  | unsigned 8-bit integer |
    +-------+---------+------------------------+
    | level | 4 bytes | signed 32-bit integer  |
    +-------+---------+------------------------+
    
    
    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_endorsement_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 | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
    +-----------------------+----------+-----------------------------------+
    | op2                   | Variable | $008-PtEdo2Zk.inlined.endorsement |
    +-----------------------+----------+-----------------------------------+
    
    
    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                   | Determined from data | $008-PtEdo2Zk.block_header.alpha.full_header |
    +-----------------------+----------------------+----------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
    +-----------------------+----------------------+----------------------------------------------+
    | bh2                   | Determined from data | $008-PtEdo2Zk.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 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   |
    +----------+----------+------------------------+
    
    
    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             | $008-PtEdo2Zk.contract_id           |
    +----------------------------------+----------------------+-------------------------------------+
    | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
    +----------------------------------+----------------------+-------------------------------------+
    | parameters                       | Determined from data | $X_2340                             |
    +----------------------------------+----------------------+-------------------------------------+
    
    
    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 | $008-PtEdo2Zk.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                    |
    +--------------------------------+----------------------+-------------------------------------+
    
    
.. _POST_..--block_id--helpers--scripts--entrypoint : **POST ..//helpers/scripts/entrypoint** .. raw:: html

Return the type of the given entrypoint

    { "script":
        { /* Int */
          "int": $bignum }
        || { /* String */
             "string": $unistring }
        || { /* Bytes */
             "bytes": /^[a-zA-Z0-9]+$/ }
        || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
        /* Sequence */
        || { /* Generic prim (any number of args with or without annot) */
             "prim": $008-PtEdo2Zk.michelson.v1.primitives,
             "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
             "annots"?: [ string ... ] },
      "entrypoint"?: $unistring }
    $008-PtEdo2Zk.michelson.v1.primitives:
      "ADD"
      | "IF_LEFT"
      | "SELF_ADDRESS"
      | "KECCAK"
      | "Elt"
      | "TOTAL_VOTING_POWER"
      | "VOTING_POWER"
      | "SHA256"
      | "option"
      | "Right"
      | "LE"
      | "set"
      | "ticket"
      | "storage"
      | "SOURCE"
      | "False"
      | "SHA512"
      | "BALANCE"
      | "EMPTY_BIG_MAP"
      | "operation"
      | "NOT"
      | "or"
      | "TRANSFER_TOKENS"
      | "DUG"
      | "COMPARE"
      | "SHA3"
      | "chain_id"
      | "MUL"
      | "signature"
      | "AMOUNT"
      | "DIP"
      | "ABS"
      | "list"
      | "LT"
      | "bls12_381_g1"
      | "CONCAT"
      | "UNIT"
      | "SWAP"
      | "DUP"
      | "bytes"
      | "CAR"
      | "CONS"
      | "NEQ"
      | "GET"
      | "Left"
      | "nat"
      | "UNPAIR"
      | "DROP"
      | "NEG"
      | "CONTRACT"
      | "big_map"
      | "ADDRESS"
      | "True"
      | "parameter"
      | "never"
      | "EQ"
      | "Pair"
      | "UPDATE"
      | "string"
      | "AND"
      | "timestamp"
      | "READ_TICKET"
      | "unit"
      | "CHECK_SIGNATURE"
      | "IF_CONS"
      | "INT"
      | "CREATE_CONTRACT"
      | "MEM"
      | "PAIRING_CHECK"
      | "BLAKE2B"
      | "bool"
      | "STEPS_TO_QUOTA"
      | "sapling_transaction"
      | "XOR"
      | "SELF"
      | "LEVEL"
      | "IMPLICIT_ACCOUNT"
      | "PACK"
      | "NEVER"
      | "NOW"
      | "RENAME"
      | "GET_AND_UPDATE"
      | "SENDER"
      | "map"
      | "mutez"
      | "SLICE"
      | "CDR"
      | "OR"
      | "sapling_state"
      | "CHAIN_ID"
      | "ISNAT"
      | "SPLIT_TICKET"
      | "SOME"
      | "LOOP"
      | "SAPLING_VERIFY_UPDATE"
      | "Unit"
      | "Some"
      | "UNPACK"
      | "IF_NONE"
      | "TICKET"
      | "ITER"
      | "EXEC"
      | "NONE"
      | "LEFT"
      | "address"
      | "JOIN_TICKETS"
      | "LSR"
      | "None"
      | "lambda"
      | "EMPTY_SET"
      | "MAP"
      | "int"
      | "bls12_381_g2"
      | "LSL"
      | "RIGHT"
      | "contract"
      | "SIZE"
      | "pair"
      | "IF"
      | "bls12_381_fr"
      | "PAIR"
      | "LAMBDA"
      | "HASH_KEY"
      | "PUSH"
      | "LOOP_LEFT"
      | "SAPLING_EMPTY_STATE"
      | "key"
      | "DIG"
      | "EMPTY_MAP"
      | "APPLY"
      | "CAST"
      | "key_hash"
      | "FAILWITH"
      | "GT"
      | "NIL"
      | "SUB"
      | "EDIV"
      | "CREATE_ACCOUNT"
      | "GE"
      | "SET_DELEGATE"
      | "code"
    $bignum:
      /* Big number
         Decimal representation of a big number */
      string
    $micheline.008-PtEdo2Zk.michelson_v1.expression:
      { /* Int */
        "int": $bignum }
      || { /* String */
           "string": $unistring }
      || { /* Bytes */
           "bytes": /^[a-zA-Z0-9]+$/ }
      || [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ]
      /* Sequence */
      || { /* Generic prim (any number of args with or without annot) */
           "prim": $008-PtEdo2Zk.michelson.v1.primitives,
           "args"?: [ $micheline.008-PtEdo2Zk.michelson_v1.expression ... ],
           "annots"?: [ 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                |
    +=======================+======================+=========================+
    | script                | Determined from data | $X_8                    |
    +-----------------------+----------------------+-------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
    +-----------------------+----------------------+-------------------------+
    | entrypoint            | Variable             | bytes                   |
    +-----------------------+----------------------+-------------------------+
    
    
    Z.t
    ***
    
    A variable length sequence of bytes, encoding a Zarith number. Each byte has a running unary size bit: the most significant bit of each byte tells is this is the last byte in the sequence (0) or if there is more to read (1). The second most significant bit of the first byte is reserved for the sign (positive if zero). Size and sign bits ignored, data is then the binary representation of the absolute value of the number in little endian order.
    
    +------+----------------------+----------+
    | Name | Size                 | Contents |
    +======+======================+==========+
    | Z.t  | Determined from data | bytes    |
    +------+----------------------+----------+
    
    
    micheline.008-PtEdo2Zk.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.008-PtEdo2Zk.michelson_v1.expression |
    +-----------------------+----------+-------------------------------------------------------------+
    
    
    Prim (no args, annot) (tag 3)
    =============================
    
    +------+--------+-------------------------------------------------------------------------------------------+
    | Name | Size   | Contents                                                                                  |
    +======+========+===========================================================================================+
    | Tag  | 1 byte | unsigned 8-bit integer                                                                    |
    +------+--------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+--------+-------------------------------------------------------------------------------------------+
    
    
    Prim (no args + annot) (tag 4)
    ==============================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | annots                | Variable | bytes                                                                                     |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg, no annot) (tag 5)
    ==============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (1 arg + annot) (tag 6)
    ============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg                   | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args, no annot) (tag 7)
    ===============================
    
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | Name | Size                 | Contents                                                                                  |
    +======+======================+===========================================================================================+
    | Tag  | 1 byte               | unsigned 8-bit integer                                                                    |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | prim | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2 | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Prim (2 args + annot) (tag 8)
    =============================
    
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | Name                  | Size                 | Contents                                                                                  |
    +=======================+======================+===========================================================================================+
    | Tag                   | 1 byte               | unsigned 8-bit integer                                                                    |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte               | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg1                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | arg2                  | Determined from data | $micheline.008-PtEdo2Zk.michelson_v1.expression                                           |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                                                   |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    | annots                | Variable             | bytes                                                                                     |
    +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
    
    
    Generic prim (any number of args with or without annot) (tag 9)
    ===============================================================
    
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | Name                  | Size     | Contents                                                                                  |
    +=======================+==========+===========================================================================================+
    | Tag                   | 1 byte   | unsigned 8-bit integer                                                                    |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | prim                  | 1 byte   | unsigned 8-bit integer encoding an enumeration (see 008-PtEdo2Zk.michelson.v1.primitives) |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
    +-----------------------+----------+-------------------------------------------------------------------------------------------+
    | args                  | Variable | sequence of $micheline.008-PtEdo2Zk.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                   |
    +-----------------------+----------+-------------------------+
    
    
    008-PtEdo2Zk.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