RPCs - Index

Shell and Protocol

The protocol-independent RPCs are described here.

Protocol 007 Delphi

  • ../<block_id> (GET)

    • ../<block_id>/context

      • ../<block_id>/context/big_maps

        • ../<block_id>/context/big_maps/<big_map_id>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      • ../<block_id>/context/nonces

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

      • ../<block_id>/context/raw

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

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

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

    • ../<block_id>/endorsing_power (POST)

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

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

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

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

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

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

    • ../<block_id>/helpers

      • ../<block_id>/helpers/baking_rights (GET)

      • ../<block_id>/helpers/complete

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

      • ../<block_id>/helpers/current_level (GET)

      • ../<block_id>/helpers/endorsing_rights (GET)

      • ../<block_id>/helpers/forge

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

        • ../<block_id>/helpers/forge/protocol_data (POST)

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

      • ../<block_id>/helpers/levels_in_current_cycle (GET)

      • ../<block_id>/helpers/parse

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

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

      • ../<block_id>/helpers/preapply

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

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

      • ../<block_id>/helpers/scripts

        • ../<block_id>/helpers/scripts/entrypoint (POST)

        • ../<block_id>/helpers/scripts/entrypoints (POST)

        • ../<block_id>/helpers/scripts/pack_data (POST)

        • ../<block_id>/helpers/scripts/run_code (POST)

        • ../<block_id>/helpers/scripts/run_operation (POST)

        • ../<block_id>/helpers/scripts/trace_code (POST)

        • ../<block_id>/helpers/scripts/typecheck_code (POST)

        • ../<block_id>/helpers/scripts/typecheck_data (POST)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • ../<block_id>/votes

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

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

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

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

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

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

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

RPCs - Full description

Protocol 007 Delphi

GET ../<block_id>

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": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
    "chain_id": $Chain_id,
    "hash": $block_hash,
    "header": $raw_block_header,
    "metadata"?: $block_header_metadata,
    "operations": [ [ $operation ... ] ... ] }
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.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
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.operation.alpha.internal_operation_result:
    { /* reveal */
      "kind": "reveal",
      "source": $007-PsDELPH1.contract_id,
      "nonce": integer ∈ [0, 2^16-1],
      "public_key": $Signature.Public_key,
      "result": $007-PsDELPH1.operation.alpha.operation_result.reveal }
    || { /* transaction */
         "kind": "transaction",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression },
         "result": $007-PsDELPH1.operation.alpha.operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts,
         "result": $007-PsDELPH1.operation.alpha.operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result": $007-PsDELPH1.operation.alpha.operation_result.delegation }
  $007-PsDELPH1.operation.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2],
      "metadata":
        { "balance_updates":
            $007-PsDELPH1.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-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.block_header.alpha.full_header,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^[a-zA-Z0-9]+$/,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression },
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
  $007-PsDELPH1.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum }
  $007-PsDELPH1.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "big_map_diff"?:
        [ { /* update */
            "action": "update",
            "big_map": $bignum,
            "key_hash": $script_expr,
            "key": $micheline.007-PsDELPH1.michelson_v1.expression,
            "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
          || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value_type": $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
      "balance_updates"?:
        $007-PsDELPH1.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "big_map_diff"?:
           [ { /* update */
               "action": "update",
               "big_map": $bignum,
               "key_hash": $script_expr,
               "key": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
             || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
                  "value_type":
                    $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
         "balance_updates"?:
           $007-PsDELPH1.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum }
  $007-PsDELPH1.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum }
  $007-PsDELPH1.operation.alpha.operation_result.transaction:
    { /* Applied */
      "status": "applied",
      "storage"?: $micheline.007-PsDELPH1.michelson_v1.expression,
      "big_map_diff"?:
        [ { /* update */
            "action": "update",
            "big_map": $bignum,
            "key_hash": $script_expr,
            "key": $micheline.007-PsDELPH1.michelson_v1.expression,
            "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
          || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value_type": $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
      "balance_updates"?:
        $007-PsDELPH1.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "storage"?: $micheline.007-PsDELPH1.michelson_v1.expression,
         "big_map_diff"?:
           [ { /* update */
               "action": "update",
               "big_map": $bignum,
               "key_hash": $script_expr,
               "key": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
             || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
                  "value_type":
                    $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
         "balance_updates"?:
           $007-PsDELPH1.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "allocated_destination_contract"?: boolean }
  $007-PsDELPH1.operation_metadata.alpha.balance_updates:
    [ { "kind": "contract",
        "contract": $007-PsDELPH1.contract_id,
        "change": $int64 }
      || { "kind": "freezer",
           "category": "rewards",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 }
      || { "kind": "freezer",
           "category": "fees",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 }
      || { "kind": "freezer",
           "category": "deposits",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 } ... ]
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "next_protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "test_chain_status": $test_chain_status,
      "max_operations_ttl": integer ∈ [-2^30-2, 2^30+2],
      "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
      "max_block_header_length": integer ∈ [-2^30-2, 2^30+2],
      "max_operation_list_length":
        [ { "max_size": integer ∈ [-2^30-2, 2^30+2],
            "max_op"?: integer ∈ [-2^30-2, 2^30+2] } ... ],
      "baker": $Signature.Public_key_hash,
      "level":
        { "level":
            integer ∈ [-2^31-2, 2^31+2]
            /* The level of the block relative to genesis. This is also the
               Shell's notion of level */,
          "level_position":
            integer ∈ [-2^31-2, 2^31+2]
            /* 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-2, 2^31+2]
            /* 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-2, 2^31+2]
            /* The current level of the block relative to the first block of
               the current cycle. */,
          "voting_period":
            integer ∈ [-2^31-2, 2^31+2]
            /* 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. */,
          "voting_period_position":
            integer ∈ [-2^31-2, 2^31+2]
            /* The current level of the block relative to the first block of
               the current voting period. */,
          "expected_commitment":
            boolean
            /* Tells wether the baker of this block has to commit a seed
               nonce hash. */ },
      "voting_period_kind":
        "proposal" || "testing_vote" || "testing" || "promotion_vote",
      "nonce_hash": $cycle_nonce /* Some */ || null /* None */,
      "consumed_gas": $positive_bignum,
      "deactivated": [ $Signature.Public_key_hash ... ],
      "balance_updates":
        $007-PsDELPH1.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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
  $operation:
    { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "chain_id": $Chain_id,
      "hash": $Operation_hash,
      "branch": $block_hash,
      "contents":
        [ $007-PsDELPH1.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature }
    || { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $007-PsDELPH1.operation.alpha.contents ... ],
         "signature"?: $Signature }
    || { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
         "chain_id": $Chain_id,
         "hash": $Operation_hash,
         "branch": $block_hash,
         "contents": [ $007-PsDELPH1.operation.alpha.contents ... ],
         "signature": $Signature }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $raw_block_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $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_8                    |
  +--------------------------------+----------------------+-------------------------------------+


  X_8
  ***

  +--------------------------+----------+-------------------------+
  | 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_230                  |
  +-----------------------+----------+-------------------------+


  X_230 (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_229                 |
  +-----------------+----------------------+------------------------+


  Operation without metadata (tag 1)
  ==================================

  +-----------+----------+----------------------------------------------------+
  | Name      | Size     | Contents                                           |
  +===========+==========+====================================================+
  | Tag       | 1 byte   | unsigned 8-bit integer                             |
  +-----------+----------+----------------------------------------------------+
  | contents  | Variable | sequence of $007-PsDELPH1.operation.alpha.contents |
  +-----------+----------+----------------------------------------------------+
  | signature | 64 bytes | bytes                                              |
  +-----------+----------+----------------------------------------------------+


  X_229 (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 $007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +---------------------------------+----------+----------------------------------------------------+
  | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                |
  +---------------------------------+----------+----------------------------------------------------+
  | signature                       | 64 bytes | bytes                                              |
  +---------------------------------+----------+----------------------------------------------------+


  007-PsDELPH1.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_226                 |
  +----------+----------------------+------------------------+


  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 | $007-PsDELPH1.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             | $007-PsDELPH1.inlined.endorsement                      |
  +-----------------------+----------------------+--------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
  +-----------------------+----------------------+--------------------------------------------------------+
  | op2                   | Variable             | $007-PsDELPH1.inlined.endorsement                      |
  +-----------------------+----------------------+--------------------------------------------------------+
  | metadata              | Determined from data | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header           |
  +-----------------------+----------------------+--------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
  +-----------------------+----------------------+--------------------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.block_header.alpha.full_header           |
  +-----------------------+----------------------+--------------------------------------------------------+
  | metadata              | Determined from data | $007-PsDELPH1.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 | $007-PsDELPH1.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_175                 |
  +---------------+----------------------+------------------------+


  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             | $007-PsDELPH1.contract_id           |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_197                              |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_114                              |
  +----------------------------------+----------------------+-------------------------------------+


  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 | $007-PsDELPH1.scripted.contracts    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_54                               |
  +--------------------------------+----------------------+-------------------------------------+


  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_175                              |
  +--------------------------------+----------------------+-------------------------------------+


  X_226
  *****

  +--------------------------------------------------------------------------+----------+------------------------------------+
  | Name                                                                     | Size     | Contents                           |
  +==========================================================================+==========+====================================+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes  | unsigned 30-bit integer            |
  +--------------------------------------------------------------------------+----------+------------------------------------+
  | balance_updates                                                          | Variable | sequence of $X_6                   |
  +--------------------------------------------------------------------------+----------+------------------------------------+
  | 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_228 (Determined from data, 8-bit tag)
  ***************************************

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

  +----------+----------+---------------------------+
  | Name     | Size     | Contents                  |
  +==========+==========+===========================+
  | Tag      | 1 byte   | unsigned 8-bit integer    |
  +----------+----------+---------------------------+
  | contract | 22 bytes | $007-PsDELPH1.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  |
  +----------+----------+------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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_6        |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.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_175
  *****

  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | Name                                                                     | Size                 | Contents                                                            |
  +==========================================================================+======================+=====================================================================+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                                                    |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | operation_result                                                         | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.delegation           |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | internal_operation_results                                               | Variable             | sequence of $007-PsDELPH1.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    |
  +------+----------------------+----------+


  007-PsDELPH1.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_217
  *****

  +-----------------------+----------+---------------------------------+
  | Name                  | Size     | Contents                        |
  +=======================+==========+=================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer         |
  +-----------------------+----------+---------------------------------+
  | Unnamed field 0       | Variable | sequence of $007-PsDELPH1.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                  |
  +-----------------+----------+------------------------+


  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    |
  +------+----------------------+----------+


  X_209
  *****

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


  micheline.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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         |
  +-------------+------------------+


  X_197
  *****

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


  007-PsDELPH1.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                  |
  +-----------------------+----------+------------------------+


  007-PsDELPH1.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_114
  *****

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


  X_54
  ****

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


  007-PsDELPH1.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             | $007-PsDELPH1.contract_id                                 |
  +------------+----------------------+-----------------------------------------------------------+
  | nonce      | 2 bytes              | unsigned 16-bit integer                                   |
  +------------+----------------------+-----------------------------------------------------------+
  | public_key | Determined from data | $public_key                                               |
  +------------+----------------------+-----------------------------------------------------------+
  | result     | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.delegation |
  +------------+----------------------+-----------------------------------------------------------+


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

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


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

  +--------------------------------+----------------------+------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                   |
  +================================+======================+============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                     |
  +--------------------------------+----------------------+------------------------------------------------------------+
  | source                         | 22 bytes             | $007-PsDELPH1.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 | $007-PsDELPH1.scripted.contracts                           |
  +--------------------------------+----------------------+------------------------------------------------------------+
  | result                         | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.origination |
  +--------------------------------+----------------------+------------------------------------------------------------+


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

  +--------------------------------+----------------------+-----------------------------------------------------------+
  | Name                           | Size                 | Contents                                                  |
  +================================+======================+===========================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                    |
  +--------------------------------+----------------------+-----------------------------------------------------------+
  | source                         | 22 bytes             | $007-PsDELPH1.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 | $007-PsDELPH1.operation.alpha.operation_result.delegation |
  +--------------------------------+----------------------+-----------------------------------------------------------+


  007-PsDELPH1.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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_209                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                         |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                                |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                         |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | originated_contracts                                                     | Variable             | sequence of $007-PsDELPH1.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)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+


  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 $007-PsDELPH1.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_217                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | storage                                                                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_209                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                         |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                                |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                         |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | originated_contracts                                                     | Variable             | sequence of $007-PsDELPH1.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)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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_209                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                      |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | originated_contracts                                                     | Variable             | sequence of $007-PsDELPH1.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                                  |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+


  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 $007-PsDELPH1.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_217                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_209                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer               |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                      |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer               |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | originated_contracts                                                     | Variable             | sequence of $007-PsDELPH1.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                                  |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+


  X_22 (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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
  +-----------------------------+----------------------+-------------------------------------------------+
  | value                       | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------------------+----------------------+-------------------------------------------------+


  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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------+----------------------+-------------------------------------------------+
  | value_type | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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 $007-PsDELPH1.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_217                              |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_gas                 | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+
  | consumed_milligas            | Determined from data | $N.t                                |
  +------------------------------+----------------------+-------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.contract_id           |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_197                              |
  +----------------------------------+----------------------+-------------------------------------+


  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 | $007-PsDELPH1.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 15 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                                                         |
  +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | voting_period_kind                                                       | 1 byte               | $X_4                                                         |
  +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | nonce_hash                                                               | Determined from data | $X_5                                                         |
  +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | 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 "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                      |
  +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_6                                             |
  +--------------------------------------------------------------------------+----------------------+--------------------------------------------------------------+


  X_6
  ***

  +-----------------+----------------------+-----------------------+
  | Name            | Size                 | Contents              |
  +=================+======================+=======================+
  | Unnamed field 0 | Determined from data | $X_228                |
  +-----------------+----------------------+-----------------------+
  | change          | 8 bytes              | signed 64-bit integer |
  +-----------------+----------------------+-----------------------+


  X_5 (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_4 (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 |
  +------+--------+------------------------+


  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>

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

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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

  

GET ../<block_id>/context/constants

All constants

  { "proof_of_work_nonce_size": integer ∈ [0, 255],
    "nonce_length": integer ∈ [0, 255],
    "max_anon_ops_per_block": integer ∈ [0, 255],
    "max_operation_data_length": integer ∈ [-2^30-2, 2^30+2],
    "max_proposals_per_delegate": integer ∈ [0, 255],
    "preserved_cycles": integer ∈ [0, 255],
    "blocks_per_cycle": integer ∈ [-2^31-2, 2^31+2],
    "blocks_per_commitment": integer ∈ [-2^31-2, 2^31+2],
    "blocks_per_roll_snapshot": integer ∈ [-2^31-2, 2^31+2],
    "blocks_per_voting_period": integer ∈ [-2^31-2, 2^31+2],
    "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": $007-PsDELPH1.mutez,
    "michelson_maximum_type_size": integer ∈ [0, 2^16-1],
    "seed_nonce_revelation_tip": $007-PsDELPH1.mutez,
    "origination_size": integer ∈ [-2^30-2, 2^30+2],
    "block_security_deposit": $007-PsDELPH1.mutez,
    "endorsement_security_deposit": $007-PsDELPH1.mutez,
    "baking_reward_per_endorsement": [ $007-PsDELPH1.mutez ... ],
    "endorsement_reward": [ $007-PsDELPH1.mutez ... ],
    "cost_per_byte": $007-PsDELPH1.mutez,
    "hard_storage_limit_per_operation": $bignum,
    "test_chain_duration": $int64,
    "quorum_min": integer ∈ [-2^31-2, 2^31+2],
    "quorum_max": integer ∈ [-2^31-2, 2^31+2],
    "min_proposal_quorum": integer ∈ [-2^31-2, 2^31+2],
    "initial_endorsers": integer ∈ [0, 2^16-1],
    "delay_per_missing_endorsement": $int64 }
  $007-PsDELPH1.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

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

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

  [ $007-PsDELPH1.contract_id ... ]
  $007-PsDELPH1.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 $007-PsDELPH1.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                  |
  +----------------------+----------+------------------------+


  007-PsDELPH1.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>

Access the complete status of a contract.

  { "balance": $007-PsDELPH1.mutez,
    "delegate"?: $Signature.Public_key_hash,
    "script"?: $007-PsDELPH1.scripted.contracts,
    "counter"?: $positive_bignum }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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 | $007-PsDELPH1.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                  |
  +----------------------+----------+------------------------+


  007-PsDELPH1.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

Access the balance of a contract.

  $007-PsDELPH1.mutez
  $007-PsDELPH1.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

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

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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


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

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

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


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

  +-----------------+----------------------+-------------------------------------------------+
  | Name            | Size                 | Contents                                        |
  +=================+======================+=================================================+
  | Tag             | 1 byte               | unsigned 8-bit integer                          |
  +-----------------+----------------------+-------------------------------------------------+
  | Unnamed field 0 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------+----------------------+-------------------------------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/counter

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

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

Return the list of entrypoints of the contract

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


  X_2
  ***

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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


  X_1
  ***

  +-----------------+----------------------+-------------------------------------------------+
  | Name            | Size                 | Contents                                        |
  +=================+======================+=================================================+
  | Unnamed field 0 | Determined from data | $X_2                                            |
  +-----------------+----------------------+-------------------------------------------------+
  | Unnamed field 1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------+----------------------+-------------------------------------------------+

  

GET ../<block_id>/context/contracts/<contract_id>/entrypoints/<string>

Return the type of the given entrypoint of the contract

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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

  

GET ../<block_id>/context/contracts/<contract_id>/manager_key

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

Access the code and data of the contract.

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

Access the data of the contract.

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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

  

GET ../<block_id>/context/delegates?[active]&[inactive]

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>

Everything about a delegate.

  { "balance": $007-PsDELPH1.mutez,
    "frozen_balance": $007-PsDELPH1.mutez,
    "frozen_balance_by_cycle":
      [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
          "deposit": $007-PsDELPH1.mutez,
          "fees": $007-PsDELPH1.mutez,
          "rewards": $007-PsDELPH1.mutez } ... ],
    "staking_balance": $007-PsDELPH1.mutez,
    "delegated_contracts": [ $007-PsDELPH1.contract_id ... ],
    "delegated_balance": $007-PsDELPH1.mutez,
    "deactivated": boolean,
    "grace_period": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.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
  $007-PsDELPH1.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 $007-PsDELPH1.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                 |
  +-------------------------+----------------------+---------------------------------------+


  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                  |
  +----------------------+----------+------------------------+


  007-PsDELPH1.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

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

  $007-PsDELPH1.mutez
  $007-PsDELPH1.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

Tells whether the delegate is currently tagged as deactivated or not.

  boolean
  +-----------------+--------+-------------------------------------+
  | Name            | Size   | Contents                            |
  +=================+========+=====================================+
  | Unnamed field 0 | 1 byte | boolean (0 for false, 255 for true) |
  +-----------------+--------+-------------------------------------+


  

GET ../<block_id>/context/delegates/<pkh>/delegated_balance

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

  $007-PsDELPH1.mutez
  $007-PsDELPH1.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

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

  [ $007-PsDELPH1.contract_id ... ]
  $007-PsDELPH1.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 $007-PsDELPH1.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                  |
  +----------------------+----------+------------------------+


  007-PsDELPH1.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

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

  $007-PsDELPH1.mutez
  $007-PsDELPH1.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

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

  [ { "cycle": integer ∈ [-2^31-2, 2^31+2],
      "deposit": $007-PsDELPH1.mutez,
      "fees": $007-PsDELPH1.mutez,
      "rewards": $007-PsDELPH1.mutez } ... ]
  $007-PsDELPH1.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

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-2, 2^31+2]
  +-----------------+---------+-----------------------+
  | Name            | Size    | Contents              |
  +=================+=========+=======================+
  | Unnamed field 0 | 4 bytes | signed 32-bit integer |
  +-----------------+---------+-----------------------+


  

GET ../<block_id>/context/delegates/<pkh>/staking_balance

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.

  $007-PsDELPH1.mutez
  $007-PsDELPH1.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/nonces/<block_level>

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?[depth=<int>]

Returns the raw context.

Optional query arguments :

  • depth = <int>

  $raw_context
  $raw_context:
    /^[a-zA-Z0-9]+$/
    /* Key */
    || { /* Dir */
         *: $raw_context }
    || null
    /* Cut */
  +-----------------+----------------------+--------------+
  | Name            | Size                 | Contents     |
  +=================+======================+==============+
  | Unnamed field 0 | Determined from data | $raw_context |
  +-----------------+----------------------+--------------+


  X_1
  ***

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


  X_0
  ***

  +-----------------+----------------------+--------------+
  | Name            | Size                 | Contents     |
  +=================+======================+==============+
  | Unnamed field 0 | Determined from data | $X_1         |
  +-----------------+----------------------+--------------+
  | Unnamed field 1 | Determined from data | $raw_context |
  +-----------------+----------------------+--------------+


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

  Key (tag 0)
  ===========

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


  Dir (tag 1)
  ===========

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


  Cut (tag 2)
  ===========

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

  

POST ../<block_id>/context/seed

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

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

  { "endorsement_operation":
      { "branch": $block_hash,
        "contents": [ $007-PsDELPH1.operation.alpha.contents ... ],
        "signature": $Signature },
    "chain_id": $Chain_id }
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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    |
  +-----------------------+----------+----------+


  007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.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 | $007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +-----------+----------+----------------------------------------------------+
  | signature | 64 bytes | bytes                                              |
  +-----------+----------+----------------------------------------------------+

  
  integer ∈ [-2^30-2, 2^30+2]
  +-----------------+---------+--------------------------------------------------------------+
  | Name            | Size    | Contents                                                     |
  +=================+=========+==============================================================+
  | Unnamed field 0 | 4 bytes | signed 31-bit integer in the range -1073741824 to 1073741823 |
  +-----------------+---------+--------------------------------------------------------------+


  

GET ../<block_id>/hash

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

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:
    { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "chain_id": $Chain_id,
      "hash": $block_hash,
      "level": integer ∈ [-2^31-2, 2^31+2],
      "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

The version-specific fragment of the block header.

  { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
    "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

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

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

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-2, 2^31+2],
      "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?(level=<block_level>)*&(cycle=<block_cycle>)*&(delegate=<pkh>)*&[max_priority=<int>]&[all]

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. 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-2, 2^31+2],
      "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>

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?[offset=<int32>]

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-2, 2^31+2]
      /* The level of the block relative to genesis. This is also the Shell's
         notion of level */,
    "level_position":
      integer ∈ [-2^31-2, 2^31+2]
      /* 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-2, 2^31+2]
      /* 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-2, 2^31+2]
      /* The current level of the block relative to the first block of the
         current cycle. */,
    "voting_period":
      integer ∈ [-2^31-2, 2^31+2]
      /* 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. */,
    "voting_period_position":
      integer ∈ [-2^31-2, 2^31+2]
      /* The current level of the block relative to the first block of the
         current voting period. */,
    "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?(level=<block_level>)*&(cycle=<block_cycle>)*&(delegate=<pkh>)*

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-2, 2^31+2],
      "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

Forge an operation

  $007-PsDELPH1.operation.alpha.unsigned_operation
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.operation.alpha.unsigned_operation:
    { "branch": $block_hash,
      "contents": [ $007-PsDELPH1.operation.alpha.contents ... ] }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +----------+----------+----------------------------------------------------+


  007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.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 | $007-PsDELPH1.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

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

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-2, 2^31+2],
      "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?[offset=<int32>]

Levels of a cycle

Optional query arguments :

  • offset = <int32>

  { "first": integer ∈ [-2^31-2, 2^31+2],
    "last": integer ∈ [-2^31-2, 2^31+2] }
  +-------+---------+-----------------------+
  | Name  | Size    | Contents              |
  +=======+=========+=======================+
  | first | 4 bytes | signed 32-bit integer |
  +-------+---------+-----------------------+
  | last  | 4 bytes | signed 32-bit integer |
  +-------+---------+-----------------------+


  

POST ../<block_id>/helpers/parse/block

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-2, 2^31+2],
      "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                   |
  +-----------------------+----------+-------------------------+

  
  $007-PsDELPH1.block_header.alpha.signed_contents
  $007-PsDELPH1.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

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                   |
  +--------------------------+----------+-------------------------+

  
  [ { "branch": $block_hash,
      "contents": [ $007-PsDELPH1.operation.alpha.contents ... ],
      "signature": $Signature } ... ]
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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        |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.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 | $007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +--------------------------+----------+----------------------------------------------------+
  | signature                | 64 bytes | bytes                                              |
  +--------------------------+----------+----------------------------------------------------+

  

POST ../<block_id>/helpers/preapply/block?[sort]&[timestamp=<date>]

Simulate the validation of a block that would contain the given operations and return the resulting fitness and context hash.

Optional query arguments :

  • sort
  • timestamp = <date>

  { "protocol_data":
      { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
        "priority": integer ∈ [0, 2^16-1],
        "proof_of_work_nonce": /^[a-zA-Z0-9]+$/,
        "seed_nonce_hash"?: $cycle_nonce,
        "signature": $Signature },
    "operations": [ [ $next_operation ... ] ... ] }
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
  $next_operation:
    { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "branch": $block_hash,
      "contents": [ $007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.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 | $007-PsDELPH1.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 $007-PsDELPH1.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":
            [ { "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^[a-zA-Z0-9]+$/ } ... ],
          "refused":
            [ { "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^[a-zA-Z0-9]+$/,
                "error": $error } ... ],
          "branch_refused":
            [ { "hash": $Operation_hash,
                "branch": $block_hash,
                "data": /^[a-zA-Z0-9]+$/,
                "error": $error } ... ],
          "branch_delayed":
            [ { "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-2, 2^31+2],
      "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

Simulate the validation of an operation.

  [ $next_operation ... ]
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
  $next_operation:
    { "protocol": "PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo",
      "branch": $block_hash,
      "contents": [ $007-PsDELPH1.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 |
  +-----------------------+----------+-----------------------------+


  007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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                               |
  +---------------------------------------+----------+-------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.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 | $007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +--------------------------+----------+----------------------------------------------------+
  | signature                | 64 bytes | bytes                                              |
  +--------------------------+----------+----------------------------------------------------+

  
  [ $007-PsDELPH1.operation.alpha.operation_with_metadata ... ]
  $007-PsDELPH1.block_header.alpha.full_header:
    { "level": integer ∈ [-2^31-2, 2^31+2],
      "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 }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.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
  $007-PsDELPH1.inlined.endorsement:
    { "branch": $block_hash,
      "operations": $007-PsDELPH1.inlined.endorsement.contents,
      "signature"?: $Signature }
  $007-PsDELPH1.inlined.endorsement.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.contents:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2] }
    || { /* Seed_nonce_revelation */
         "kind": "seed_nonce_revelation",
         "level": integer ∈ [-2^31-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/ }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.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-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ] }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass" }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.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": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.operation.alpha.internal_operation_result:
    { /* reveal */
      "kind": "reveal",
      "source": $007-PsDELPH1.contract_id,
      "nonce": integer ∈ [0, 2^16-1],
      "public_key": $Signature.Public_key,
      "result": $007-PsDELPH1.operation.alpha.operation_result.reveal }
    || { /* transaction */
         "kind": "transaction",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression },
         "result": $007-PsDELPH1.operation.alpha.operation_result.transaction }
    || { /* origination */
         "kind": "origination",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts,
         "result": $007-PsDELPH1.operation.alpha.operation_result.origination }
    || { /* delegation */
         "kind": "delegation",
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "delegate"?: $Signature.Public_key_hash,
         "result": $007-PsDELPH1.operation.alpha.operation_result.delegation }
  $007-PsDELPH1.operation.alpha.operation_contents_and_result:
    { /* Endorsement */
      "kind": "endorsement",
      "level": integer ∈ [-2^31-2, 2^31+2],
      "metadata":
        { "balance_updates":
            $007-PsDELPH1.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-2, 2^31+2],
         "nonce": /^[a-zA-Z0-9]+$/,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Double_endorsement_evidence */
         "kind": "double_endorsement_evidence",
         "op1": $007-PsDELPH1.inlined.endorsement,
         "op2": $007-PsDELPH1.inlined.endorsement,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Double_baking_evidence */
         "kind": "double_baking_evidence",
         "bh1": $007-PsDELPH1.block_header.alpha.full_header,
         "bh2": $007-PsDELPH1.block_header.alpha.full_header,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Activate_account */
         "kind": "activate_account",
         "pkh": $Ed25519.Public_key_hash,
         "secret": /^[a-zA-Z0-9]+$/,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates } }
    || { /* Proposals */
         "kind": "proposals",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposals": [ $Protocol_hash ... ],
         "metadata": {  } }
    || { /* Ballot */
         "kind": "ballot",
         "source": $Signature.Public_key_hash,
         "period": integer ∈ [-2^31-2, 2^31+2],
         "proposal": $Protocol_hash,
         "ballot": "nay" | "yay" | "pass",
         "metadata": {  } }
    || { /* Reveal */
         "kind": "reveal",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "public_key": $Signature.Public_key,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.reveal,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Transaction */
         "kind": "transaction",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression },
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.transaction,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Origination */
         "kind": "origination",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.origination,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
    || { /* Delegation */
         "kind": "delegation",
         "source": $Signature.Public_key_hash,
         "fee": $007-PsDELPH1.mutez,
         "counter": $positive_bignum,
         "gas_limit": $positive_bignum,
         "storage_limit": $positive_bignum,
         "delegate"?: $Signature.Public_key_hash,
         "metadata":
           { "balance_updates":
               $007-PsDELPH1.operation_metadata.alpha.balance_updates,
             "operation_result":
               $007-PsDELPH1.operation.alpha.operation_result.delegation,
             "internal_operation_results"?:
               [ $007-PsDELPH1.operation.alpha.internal_operation_result ... ] } }
  $007-PsDELPH1.operation.alpha.operation_result.delegation:
    { /* Applied */
      "status": "applied",
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum }
  $007-PsDELPH1.operation.alpha.operation_result.origination:
    { /* Applied */
      "status": "applied",
      "big_map_diff"?:
        [ { /* update */
            "action": "update",
            "big_map": $bignum,
            "key_hash": $script_expr,
            "key": $micheline.007-PsDELPH1.michelson_v1.expression,
            "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
          || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value_type": $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
      "balance_updates"?:
        $007-PsDELPH1.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "big_map_diff"?:
           [ { /* update */
               "action": "update",
               "big_map": $bignum,
               "key_hash": $script_expr,
               "key": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
             || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
                  "value_type":
                    $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
         "balance_updates"?:
           $007-PsDELPH1.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum }
  $007-PsDELPH1.operation.alpha.operation_result.reveal:
    { /* Applied */
      "status": "applied",
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum }
  $007-PsDELPH1.operation.alpha.operation_result.transaction:
    { /* Applied */
      "status": "applied",
      "storage"?: $micheline.007-PsDELPH1.michelson_v1.expression,
      "big_map_diff"?:
        [ { /* update */
            "action": "update",
            "big_map": $bignum,
            "key_hash": $script_expr,
            "key": $micheline.007-PsDELPH1.michelson_v1.expression,
            "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
          || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value_type": $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
      "balance_updates"?:
        $007-PsDELPH1.operation_metadata.alpha.balance_updates,
      "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
      "consumed_gas"?: $positive_bignum,
      "consumed_milligas"?: $positive_bignum,
      "storage_size"?: $bignum,
      "paid_storage_size_diff"?: $bignum,
      "allocated_destination_contract"?: boolean }
    || { /* Failed */
         "status": "failed",
         "errors": [ $007-PsDELPH1.error ... ] }
    || { /* Skipped */
         "status": "skipped" }
    || { /* Backtracked */
         "status": "backtracked",
         "errors"?: [ $007-PsDELPH1.error ... ],
         "storage"?: $micheline.007-PsDELPH1.michelson_v1.expression,
         "big_map_diff"?:
           [ { /* update */
               "action": "update",
               "big_map": $bignum,
               "key_hash": $script_expr,
               "key": $micheline.007-PsDELPH1.michelson_v1.expression,
               "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
             || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
                  "value_type":
                    $micheline.007-PsDELPH1.michelson_v1.expression } ... ],
         "balance_updates"?:
           $007-PsDELPH1.operation_metadata.alpha.balance_updates,
         "originated_contracts"?: [ $007-PsDELPH1.contract_id ... ],
         "consumed_gas"?: $positive_bignum,
         "consumed_milligas"?: $positive_bignum,
         "storage_size"?: $bignum,
         "paid_storage_size_diff"?: $bignum,
         "allocated_destination_contract"?: boolean }
  $007-PsDELPH1.operation.alpha.operation_with_metadata:
    { /* Operation_with_metadata */
      "contents":
        [ $007-PsDELPH1.operation.alpha.operation_contents_and_result ... ],
      "signature"?: $Signature }
    || { /* Operation_without_metadata */
         "contents": [ $007-PsDELPH1.operation.alpha.contents ... ],
         "signature"?: $Signature }
  $007-PsDELPH1.operation_metadata.alpha.balance_updates:
    [ { "kind": "contract",
        "contract": $007-PsDELPH1.contract_id,
        "change": $int64 }
      || { "kind": "freezer",
           "category": "rewards",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 }
      || { "kind": "freezer",
           "category": "fees",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 }
      || { "kind": "freezer",
           "category": "deposits",
           "delegate": $Signature.Public_key_hash,
           "cycle": integer ∈ [-2^31-2, 2^31+2],
           "change": $int64 } ... ]
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.michelson_v1.expression ... ],
         "annots"?: [ string ... ] }
  $positive_bignum:
    /* Positive big number
       Decimal representation of a positive big number */
    string
  $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_220                  |
  +-----------------------+----------------------+-------------------------+


  X_220 (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 $007-PsDELPH1.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 $007-PsDELPH1.operation.alpha.contents |
  +---------------------------------+----------+----------------------------------------------------+
  | ? presence of field "signature" | 1 byte   | boolean (0 for false, 255 for true)                |
  +---------------------------------+----------+----------------------------------------------------+
  | signature                       | 64 bytes | bytes                                              |
  +---------------------------------+----------+----------------------------------------------------+


  007-PsDELPH1.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_217                 |
  +----------+----------------------+------------------------+


  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 | $007-PsDELPH1.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             | $007-PsDELPH1.inlined.endorsement                      |
  +-----------------------+----------------------+--------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
  +-----------------------+----------------------+--------------------------------------------------------+
  | op2                   | Variable             | $007-PsDELPH1.inlined.endorsement                      |
  +-----------------------+----------------------+--------------------------------------------------------+
  | metadata              | Determined from data | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header           |
  +-----------------------+----------------------+--------------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                                |
  +-----------------------+----------------------+--------------------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.block_header.alpha.full_header           |
  +-----------------------+----------------------+--------------------------------------------------------+
  | metadata              | Determined from data | $007-PsDELPH1.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 | $007-PsDELPH1.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_166                 |
  +---------------+----------------------+------------------------+


  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             | $007-PsDELPH1.contract_id           |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_188                              |
  +----------------------------------+----------------------+-------------------------------------+
  | metadata                         | Determined from data | $X_105                              |
  +----------------------------------+----------------------+-------------------------------------+


  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 | $007-PsDELPH1.scripted.contracts    |
  +--------------------------------+----------------------+-------------------------------------+
  | metadata                       | Determined from data | $X_45                               |
  +--------------------------------+----------------------+-------------------------------------+


  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_166                              |
  +--------------------------------+----------------------+-------------------------------------+


  X_217
  *****

  +--------------------------------------------------------------------------+----------+------------------------------------+
  | Name                                                                     | Size     | Contents                           |
  +==========================================================================+==========+====================================+
  | # bytes in field "007-PsDELPH1.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_219 (Determined from data, 8-bit tag)
  ***************************************

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

  +----------+----------+---------------------------+
  | Name     | Size     | Contents                  |
  +==========+==========+===========================+
  | Tag      | 1 byte   | unsigned 8-bit integer    |
  +----------+----------+---------------------------+
  | contract | 22 bytes | $007-PsDELPH1.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  |
  +----------+----------+------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  007-PsDELPH1.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        |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.inlined.endorsement
  ********************************

  +------------+----------+--------------------------------------------+
  | Name       | Size     | Contents                                   |
  +============+==========+============================================+
  | branch     | 32 bytes | bytes                                      |
  +------------+----------+--------------------------------------------+
  | operations | 5 bytes  | $007-PsDELPH1.inlined.endorsement.contents |
  +------------+----------+--------------------------------------------+
  | signature  | Variable | bytes                                      |
  +------------+----------+--------------------------------------------+


  007-PsDELPH1.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  |
  +-------+---------+------------------------+


  007-PsDELPH1.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_166
  *****

  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | Name                                                                     | Size                 | Contents                                                            |
  +==========================================================================+======================+=====================================================================+
  | # bytes in field "007-PsDELPH1.operation_metadata.alpha.balance_updates" | 4 bytes              | unsigned 30-bit integer                                             |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | balance_updates                                                          | Variable             | sequence of $X_3                                                    |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | operation_result                                                         | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.delegation           |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | # bytes in next field                                                    | 4 bytes              | unsigned 30-bit integer                                             |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------------------------------------+
  | internal_operation_results                                               | Variable             | sequence of $007-PsDELPH1.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    |
  +------+----------------------+----------+


  007-PsDELPH1.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_208
  *****

  +-----------------------+----------+---------------------------------+
  | Name                  | Size     | Contents                        |
  +=======================+==========+=================================+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer         |
  +-----------------------+----------+---------------------------------+
  | Unnamed field 0       | Variable | sequence of $007-PsDELPH1.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                  |
  +-----------------+----------+------------------------+


  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    |
  +------+----------------------+----------+


  X_200
  *****

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


  micheline.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  007-PsDELPH1.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         |
  +-------------+------------------+


  X_188
  *****

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


  007-PsDELPH1.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                  |
  +-----------------------+----------+------------------------+


  007-PsDELPH1.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_105
  *****

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


  X_45
  ****

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


  007-PsDELPH1.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             | $007-PsDELPH1.contract_id                                 |
  +------------+----------------------+-----------------------------------------------------------+
  | nonce      | 2 bytes              | unsigned 16-bit integer                                   |
  +------------+----------------------+-----------------------------------------------------------+
  | public_key | Determined from data | $public_key                                               |
  +------------+----------------------+-----------------------------------------------------------+
  | result     | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.delegation |
  +------------+----------------------+-----------------------------------------------------------+


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

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


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

  +--------------------------------+----------------------+------------------------------------------------------------+
  | Name                           | Size                 | Contents                                                   |
  +================================+======================+============================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                     |
  +--------------------------------+----------------------+------------------------------------------------------------+
  | source                         | 22 bytes             | $007-PsDELPH1.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 | $007-PsDELPH1.scripted.contracts                           |
  +--------------------------------+----------------------+------------------------------------------------------------+
  | result                         | Determined from data | $007-PsDELPH1.operation.alpha.operation_result.origination |
  +--------------------------------+----------------------+------------------------------------------------------------+


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

  +--------------------------------+----------------------+-----------------------------------------------------------+
  | Name                           | Size                 | Contents                                                  |
  +================================+======================+===========================================================+
  | Tag                            | 1 byte               | unsigned 8-bit integer                                    |
  +--------------------------------+----------------------+-----------------------------------------------------------+
  | source                         | 22 bytes             | $007-PsDELPH1.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 | $007-PsDELPH1.operation.alpha.operation_result.delegation |
  +--------------------------------+----------------------+-----------------------------------------------------------+


  007-PsDELPH1.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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_200                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in field "007-PsDELPH1.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 $007-PsDELPH1.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)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+


  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 $007-PsDELPH1.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_208                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "storage"                                            | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | storage                                                                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_200                                          |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+
  | # bytes in field "007-PsDELPH1.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 $007-PsDELPH1.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)             |
  +--------------------------------------------------------------------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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_200                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in field "007-PsDELPH1.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 $007-PsDELPH1.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                                  |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+


  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 $007-PsDELPH1.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_208                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | ? presence of field "big_map_diff"                                       | 1 byte               | boolean (0 for false, 255 for true)   |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | big_map_diff                                                             | Determined from data | $X_200                                |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+
  | # bytes in field "007-PsDELPH1.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 $007-PsDELPH1.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                                  |
  +--------------------------------------------------------------------------+----------------------+---------------------------------------+


  X_13 (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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "value" | 1 byte               | boolean (0 for false, 255 for true)             |
  +-----------------------------+----------------------+-------------------------------------------------+
  | value                       | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------------------+----------------------+-------------------------------------------------+


  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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------+----------------------+-------------------------------------------------+
  | value_type | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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 $007-PsDELPH1.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_208                              |
  +------------------------------+----------------------+-------------------------------------+
  | 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_219                |
  +-----------------+----------------------+-----------------------+
  | change          | 8 bytes              | signed 64-bit integer |
  +-----------------+----------------------+-----------------------+


  007-PsDELPH1.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 | $007-PsDELPH1.inlined.endorsement |
  +-----------------------+----------+-----------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer           |
  +-----------------------+----------+-----------------------------------+
  | op2                   | Variable | $007-PsDELPH1.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 | $007-PsDELPH1.block_header.alpha.full_header |
  +-----------------------+----------------------+----------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                      |
  +-----------------------+----------------------+----------------------------------------------+
  | bh2                   | Determined from data | $007-PsDELPH1.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             | $007-PsDELPH1.contract_id           |
  +----------------------------------+----------------------+-------------------------------------+
  | ? presence of field "parameters" | 1 byte               | boolean (0 for false, 255 for true) |
  +----------------------------------+----------------------+-------------------------------------+
  | parameters                       | Determined from data | $X_188                              |
  +----------------------------------+----------------------+-------------------------------------+


  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 | $007-PsDELPH1.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

Return the type of the given entrypoint

  { "script": $micheline.007-PsDELPH1.michelson_v1.expression,
    "entrypoint"?: $unistring }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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 | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------------+----------------------+-------------------------------------------------+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer                         |
  +-----------------------+----------------------+-------------------------------------------------+
  | entrypoint            | Variable             | bytes                                           |
  +-----------------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+

  

POST ../<block_id>/helpers/scripts/entrypoints

Return the list of entrypoints of the given script

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+

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


  X_2
  ***

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


  007-PsDELPH1.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         |
  +-------------+------------------+


  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.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.michelson_v1.expression                               |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | annots                | Variable | bytes                                                                                     |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+


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

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


  X_1
  ***

  +-----------------+----------------------+-------------------------------------------------+
  | Name            | Size                 | Contents                                        |
  +=================+======================+=================================================+
  | Unnamed field 0 | Determined from data | $X_2                                            |
  +-----------------+----------------------+-------------------------------------------------+
  | Unnamed field 1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +-----------------+----------------------+-------------------------------------------------+

  

POST ../<block_id>/helpers/scripts/pack_data

Computes the serialized version of some data expression using the same algorithm as script instruction PACK

  { "data": $micheline.007-PsDELPH1.michelson_v1.expression,
    "type": $micheline.007-PsDELPH1.michelson_v1.expression,
    "gas"?: $bignum }
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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                                        |
  +===========================+======================+=================================================+
  | data                      | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +---------------------------+----------------------+-------------------------------------------------+
  | type                      | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +---------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "gas" | 1 byte               | boolean (0 for false, 255 for true)             |
  +---------------------------+----------------------+-------------------------------------------------+
  | gas                       | Determined from data | $Z.t                                            |
  +---------------------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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         |
  +-------------+------------------+


  micheline.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  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    |
  +------+----------------------+----------+

  
  { "packed": /^[a-zA-Z0-9]+$/,
    "gas": $bignum /* Limited */ || "unaccounted" }
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  +-----------------------+----------------------+-------------------------+
  | Name                  | Size                 | Contents                |
  +=======================+======================+=========================+
  | # bytes in next field | 4 bytes              | unsigned 30-bit integer |
  +-----------------------+----------------------+-------------------------+
  | packed                | Variable             | bytes                   |
  +-----------------------+----------------------+-------------------------+
  | gas                   | Determined from data | $X_0                    |
  +-----------------------+----------------------+-------------------------+


  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    |
  +------+----------------------+----------+


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

  Limited (tag 0)
  ===============

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


  Unaccounted (tag 1)
  ===================

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

  

POST ../<block_id>/helpers/scripts/run_code

Run a piece of code in the current context

  { "script": $micheline.007-PsDELPH1.michelson_v1.expression,
    "storage": $micheline.007-PsDELPH1.michelson_v1.expression,
    "input": $micheline.007-PsDELPH1.michelson_v1.expression,
    "amount": $007-PsDELPH1.mutez,
    "chain_id": $Chain_id,
    "source"?: $007-PsDELPH1.contract_id,
    "payer"?: $007-PsDELPH1.contract_id,
    "gas"?: $bignum,
    "entrypoint"?: $unistring }
  $007-PsDELPH1.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
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $Chain_id:
    /* Network identifier (Base58Check-encoded) */
    $unistring
  $bignum:
    /* Big number
       Decimal representation of a big number */
    string
  $micheline.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /* Sequence */
    || { /* Generic prim (any number of args with or without annot) */
         "prim": $007-PsDELPH1.michelson.v1.primitives,
         "args"?: [ $micheline.007-PsDELPH1.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                                        |
  +==============================+======================+=================================================+
  | script                       | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------------------------+----------------------+-------------------------------------------------+
  | storage                      | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------------------------+----------------------+-------------------------------------------------+
  | input                        | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression |
  +------------------------------+----------------------+-------------------------------------------------+
  | amount                       | Determined from data | $N.t                                            |
  +------------------------------+----------------------+-------------------------------------------------+
  | chain_id                     | 4 bytes              | bytes                                           |
  +------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "source" | 1 byte               | boolean (0 for false, 255 for true)             |
  +------------------------------+----------------------+-------------------------------------------------+
  | source                       | 22 bytes             | $007-PsDELPH1.contract_id                       |
  +------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "payer"  | 1 byte               | boolean (0 for false, 255 for true)             |
  +------------------------------+----------------------+-------------------------------------------------+
  | payer                        | 22 bytes             | $007-PsDELPH1.contract_id                       |
  +------------------------------+----------------------+-------------------------------------------------+
  | ? presence of field "gas"    | 1 byte               | boolean (0 for false, 255 for true)             |
  +------------------------------+----------------------+-------------------------------------------------+
  | gas                          | Determined from data | $Z.t                                            |
  +------------------------------+----------------------+-------------------------------------------------+
  | # bytes in next field        | 4 bytes              | unsigned 30-bit integer                         |
  +------------------------------+----------------------+-------------------------------------------------+
  | entrypoint                   | Variable             | bytes                                           |
  +------------------------------+----------------------+-------------------------------------------------+


  007-PsDELPH1.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         |
  +-------------+------------------+


  micheline.007-PsDELPH1.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.007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg                   | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1 | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2 | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg1                  | Determined from data | $micheline.007-PsDELPH1.michelson_v1.expression                                           |
  +-----------------------+----------------------+-------------------------------------------------------------------------------------------+
  | arg2                  | Determined from data | $micheline.007-PsDELPH1.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 007-PsDELPH1.michelson.v1.primitives) |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | # bytes in next field | 4 bytes  | unsigned 30-bit integer                                                                   |
  +-----------------------+----------+-------------------------------------------------------------------------------------------+
  | args                  | Variable | sequence of $micheline.007-PsDELPH1.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                   |
  +-----------------------+----------+-------------------------+


  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_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                  |
  +----------------------+----------+------------------------+


  007-PsDELPH1.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                |
  +---------------+----------+------------------------+


  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    |
  +------+----------------------+----------+

  
  { "storage": $micheline.007-PsDELPH1.michelson_v1.expression,
    "operations": [ $007-PsDELPH1.operation.alpha.internal_operation ... ],
    "big_map_diff"?:
      [ { /* update */
          "action": "update",
          "big_map": $bignum,
          "key_hash": $script_expr,
          "key": $micheline.007-PsDELPH1.michelson_v1.expression,
          "value"?: $micheline.007-PsDELPH1.michelson_v1.expression }
        || { /* 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": $micheline.007-PsDELPH1.michelson_v1.expression,
             "value_type": $micheline.007-PsDELPH1.michelson_v1.expression } ... ] }
  $007-PsDELPH1.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
  $007-PsDELPH1.entrypoint:
    /* entrypoint
       Named entrypoint to a Michelson smart contract */
    "default"
    || "root"
    || "do"
    || "set_delegate"
    || "remove_delegate"
    || string
    /* named */
  $007-PsDELPH1.michelson.v1.primitives:
    "ADD"
    | "IF_NONE"
    | "SWAP"
    | "set"
    | "nat"
    | "CHECK_SIGNATURE"
    | "IF_LEFT"
    | "LAMBDA"
    | "Elt"
    | "CREATE_CONTRACT"
    | "NEG"
    | "big_map"
    | "map"
    | "or"
    | "BLAKE2B"
    | "bytes"
    | "SHA256"
    | "SET_DELEGATE"
    | "CONTRACT"
    | "LSL"
    | "SUB"
    | "IMPLICIT_ACCOUNT"
    | "PACK"
    | "list"
    | "PAIR"
    | "Right"
    | "contract"
    | "GT"
    | "LEFT"
    | "STEPS_TO_QUOTA"
    | "storage"
    | "TRANSFER_TOKENS"
    | "CDR"
    | "SLICE"
    | "PUSH"
    | "False"
    | "SHA512"
    | "CHAIN_ID"
    | "BALANCE"
    | "signature"
    | "DUG"
    | "SELF"
    | "EMPTY_BIG_MAP"
    | "LSR"
    | "OR"
    | "XOR"
    | "lambda"
    | "COMPARE"
    | "key"
    | "option"
    | "Unit"
    | "Some"
    | "UNPACK"
    | "NEQ"
    | "INT"
    | "pair"
    | "AMOUNT"
    | "DIP"
    | "ABS"
    | "ISNAT"
    | "EXEC"
    | "NOW"
    | "LOOP"
    | "chain_id"
    | "string"
    | "MEM"
    | "MAP"
    | "None"
    | "address"
    | "CONCAT"
    | "EMPTY_SET"
    | "MUL"
    | "LOOP_LEFT"
    | "timestamp"
    | "LT"
    | "UPDATE"
    | "DUP"
    | "SOURCE"
    | "mutez"
    | "SENDER"
    | "IF_CONS"
    | "RIGHT"
    | "CAR"
    | "CONS"
    | "LE"
    | "NONE"
    | "IF"
    | "SOME"
    | "GET"
    | "Left"
    | "CAST"
    | "int"
    | "SIZE"
    | "key_hash"
    | "unit"
    | "DROP"
    | "EMPTY_MAP"
    | "NIL"
    | "DIG"
    | "APPLY"
    | "bool"
    | "RENAME"
    | "operation"
    | "True"
    | "FAILWITH"
    | "parameter"
    | "HASH_KEY"
    | "EQ"
    | "NOT"
    | "UNIT"
    | "Pair"
    | "ADDRESS"
    | "EDIV"
    | "CREATE_ACCOUNT"
    | "GE"
    | "ITER"
    | "code"
    | "AND"
  $007-PsDELPH1.mutez: $positive_bignum
  $007-PsDELPH1.operation.alpha.internal_operation:
    { /* Reveal */
      "source": $007-PsDELPH1.contract_id,
      "nonce": integer ∈ [0, 2^16-1],
      "kind": "reveal",
      "public_key": $Signature.Public_key }
    || { /* Transaction */
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "kind": "transaction",
         "amount": $007-PsDELPH1.mutez,
         "destination": $007-PsDELPH1.contract_id,
         "parameters"?:
           { "entrypoint": $007-PsDELPH1.entrypoint,
             "value": $micheline.007-PsDELPH1.michelson_v1.expression } }
    || { /* Origination */
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "kind": "origination",
         "balance": $007-PsDELPH1.mutez,
         "delegate"?: $Signature.Public_key_hash,
         "script": $007-PsDELPH1.scripted.contracts }
    || { /* Delegation */
         "source": $007-PsDELPH1.contract_id,
         "nonce": integer ∈ [0, 2^16-1],
         "kind": "delegation",
         "delegate"?: $Signature.Public_key_hash }
  $007-PsDELPH1.scripted.contracts:
    { "code": $micheline.007-PsDELPH1.michelson_v1.expression,
      "storage": $micheline.007-PsDELPH1.michelson_v1.expression }
  $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
  $micheline.007-PsDELPH1.michelson_v1.expression:
    { /* Int */
      "int": $bignum }
    || { /* String */
         "string": $unistring }
    || { /* Bytes */
         "bytes": /^[a-zA-Z0-9]+$/ }
    || [ $micheline.007-PsDELPH1.michelson_v1.expression ... ]
    /*