Alpha RPCs - Reference¶
This page describes the RPCs specific to the particular version of the Tezos protocol specified above. (The protocol-independent RPCs are described in this other page.)
Warning
This list could be missing RPC endpoints. The OpenAPI
specification may be used to retrieve the
complete list of protocol RPCs and their associated schemas
(search the .json
files that are linked from that page).
Note that the RPCs served under a given prefix can also be listed using the client, e.g.:
octez-client rpc list /chains/main/blocks/head/context/constants
Any RPC endpoint may also be described, using the describe
RPC to
retrieve all JSON and binary schemas, e.g.:
octez-client rpc get /describe/chains/main/blocks/head/context/constants
Note
The protocol-specific RPCs are all served under the prefix /chains/<chain_id>/blocks/<block_id>/
.
To make the RPC reference more readable, this prefix is not repeated every time below, but instead shortened as ../
.
Index¶
../<block_id>
../<block_id>/helpers
../<block_id>/helpers/preapply
../<block_id>/helpers/preapply/block (POST)
Full description¶
POST ../<block_id>/helpers/preapply/block?[sort]&[timestamp=<date>]
Simulate the validation of a block that would contain the given operations and return the resulting fitness and context hash.
Optional query arguments :
- sort
- timestamp = <date>
{ "protocol_data": { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK", "payload_hash": $value_hash, "payload_round": integer ∈ [-2^31-1, 2^31], "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "seed_nonce_hash"?: $cycle_nonce, "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote, "adaptive_issuance_vote": $alpha.adaptive_issuance_vote, "signature": $Signature.V1 }, "operations": [ [ $next_operation /* operation_data_encoding */ || $next_operation_with_legacy_attestation_name /* operation_data_encoding_with_legacy_attestation_name */ ... ] ... ] } $Context_hash: /* A hash of context (Base58Check-encoded) */ $unistring $DAL_commitment: /* Commitment representation for the DAL (Base58Check-encoded) */ $unistring $Ed25519.Public_key_hash: /* An Ed25519 public key hash (Base58Check-encoded) */ $unistring $Operation_list_list_hash: /* A list of list of operations (Base58Check-encoded) */ $unistring $Protocol_hash: /* A Tezos protocol ID (Base58Check-encoded) */ $unistring $Signature.Public_key: /* A Ed25519, Secp256k1, or P256 public key (Base58Check-encoded) */ $unistring $Signature.Public_key_hash: /* A Ed25519, Secp256k1, P256, or BLS public key hash (Base58Check-encoded) */ $unistring $Signature.V1: /* A Ed25519, Secp256k1, P256 or BLS signature (Base58Check-encoded) */ $unistring $Zk_rollup_hash: /* A zk rollup address (Base58Check-encoded) */ $unistring $alpha.adaptive_issuance_vote: "on" || "off" || "pass" $alpha.block_header.alpha.full_header: /* Shell header Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp. */ { "level": integer ∈ [-2^31-1, 2^31], "proto": integer ∈ [0, 255], "predecessor": $block_hash, "timestamp": $timestamp.protocol, "validation_pass": integer ∈ [0, 255], "operations_hash": $Operation_list_list_hash, "fitness": $fitness, "context": $Context_hash, "payload_hash": $value_hash, "payload_round": integer ∈ [-2^31-1, 2^31], "proof_of_work_nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "seed_nonce_hash"?: $cycle_nonce, "liquidity_baking_toggle_vote": $alpha.liquidity_baking_vote, "adaptive_issuance_vote": $alpha.adaptive_issuance_vote, "signature": $Signature.V1 } $alpha.contract_id: /* A contract handle A contract notation as given to an RPC or inside scripts. Can be a base58 implicit contract hash or a base58 originated contract hash. */ $unistring $alpha.contract_id.originated: /* A contract handle -- originated account A contract notation as given to an RPC or inside scripts. Can be a base58 originated contract hash. */ $unistring $alpha.entrypoint: /* entrypoint Named entrypoint to a Michelson smart contract */ "default" || "root" || "do" || "set_delegate" || "remove_delegate" || "deposit" || "stake" || "unstake" || "finalize_unstake" || "set_delegate_parameters" || $unistring /* named */ $alpha.inlined.attestation: /* An operation's shell header. */ { "branch": $block_hash, "operations": $alpha.inlined.attestation_mempool.contents, "signature"?: $Signature.V1 } $alpha.inlined.attestation_mempool.contents: { /* Attestation */ "kind": "attestation", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Attestation_with_dal */ "kind": "attestation_with_dal", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash, "dal_attestation": $bignum } $alpha.inlined.endorsement: /* An operation's shell header. */ { "branch": $block_hash, "operations": $alpha.inlined.endorsement_mempool.contents, "signature"?: $Signature.V1 } $alpha.inlined.endorsement_mempool.contents: { /* Endorsement */ "kind": "endorsement", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Endorsement_with_dal */ "kind": "endorsement_with_dal", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash, "dal_attestation": $bignum } $alpha.inlined.preattestation: /* An operation's shell header. */ { "branch": $block_hash, "operations": $alpha.inlined.preattestation.contents, "signature"?: $Signature.V1 } $alpha.inlined.preattestation.contents: { /* Preattestation */ "kind": "preattestation", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } $alpha.inlined.preendorsement: /* An operation's shell header. */ { "branch": $block_hash, "operations": $alpha.inlined.preendorsement.contents, "signature"?: $Signature.V1 } $alpha.inlined.preendorsement.contents: { /* Preendorsement */ "kind": "preendorsement", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } $alpha.liquidity_baking_vote: "on" || "off" || "pass" $alpha.michelson.v1.primitives: "SHA256" | "GT" | "RIGHT" | "SAPLING_EMPTY_STATE" | "False" | "RENAME" | "CAST" | "tx_rollup_l2_address" | "PACK" | "BYTES" | "timestamp" | "bls12_381_g2" | "Pair" | "IF_LEFT" | "contract" | "mutez" | "storage" | "PAIR" | "view" | "UNPACK" | "ADD" | "DROP" | "big_map" | "MUL" | "NAT" | "SELF" | "CONTRACT" | "CDR" | "SAPLING_VERIFY_UPDATE" | "pair" | "LSL" | "int" | "operation" | "SHA512" | "CREATE_ACCOUNT" | "BLAKE2B" | "SPLIT_TICKET" | "LEFT" | "never" | "unit" | "address" | "signature" | "CHAIN_ID" | "constant" | "SLICE" | "SENDER" | "IMPLICIT_ACCOUNT" | "key_hash" | "AMOUNT" | "CHECK_SIGNATURE" | "sapling_state" | "LT" | "EXEC" | "Elt" | "EMIT" | "NONE" | "CREATE_CONTRACT" | "LSR" | "SET_DELEGATE" | "OPEN_CHEST" | "TRANSFER_TOKENS" | "Some" | "parameter" | "set" | "bls12_381_fr" | "EDIV" | "None" | "STEPS_TO_QUOTA" | "key" | "ABS" | "list" | "NEVER" | "map" | "CAR" | "IF" | "GET_AND_UPDATE" | "CONCAT" | "LOOP" | "DIG" | "KECCAK" | "Lambda_rec" | "SOME" | "option" | "SUB" | "INT" | "PUSH" | "CONS" | "Unit" | "ISNAT" | "NEG" | "XOR" | "APPLY" | "UNPAIR" | "JOIN_TICKETS" | "SIZE" | "lambda" | "AND" | "NEQ" | "or" | "BALANCE" | "UNIT" | "VOTING_POWER" | "OR" | "LAMBDA" | "chest" | "LOOP_LEFT" | "True" | "Right" | "Ticket" | "HASH_KEY" | "DUG" | "sapling_transaction" | "SUB_MUTEZ" | "EMPTY_BIG_MAP" | "MEM" | "IF_NONE" | "nat" | "TOTAL_VOTING_POWER" | "LE" | "Left" | "chest_key" | "READ_TICKET" | "ticket" | "bls12_381_g1" | "LEVEL" | "VIEW" | "string" | "PAIRING_CHECK" | "LAMBDA_REC" | "NOW" | "SHA3" | "bool" | "MIN_BLOCK_TIME" | "GET" | "bytes" | "sapling_transaction_deprecated" | "NIL" | "IF_CONS" | "GE" | "NOT" | "SWAP" | "ITER" | "ADDRESS" | "TICKET" | "DUP" | "EMPTY_MAP" | "UPDATE" | "chain_id" | "TICKET_DEPRECATED" | "EMPTY_SET" | "FAILWITH" | "MAP" | "SOURCE" | "DIP" | "COMPARE" | "EQ" | "SELF_ADDRESS" | "code" $alpha.mutez: $positive_bignum $alpha.operation.alpha.contents: { /* Preattestation */ "kind": "preattestation", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Attestation */ "kind": "attestation", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Attestation_with_dal */ "kind": "attestation_with_dal", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash, "dal_attestation": $bignum } || { /* Double_preattestation_evidence */ "kind": "double_preattestation_evidence", "op1": $alpha.inlined.preattestation, "op2": $alpha.inlined.preattestation } || { /* Double_attestation_evidence */ "kind": "double_attestation_evidence", "op1": $alpha.inlined.attestation, "op2": $alpha.inlined.attestation } || { /* Seed_nonce_revelation */ "kind": "seed_nonce_revelation", "level": integer ∈ [0, 2^31], "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Vdf_revelation */ "kind": "vdf_revelation", "solution": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] } || { /* Double_baking_evidence */ "kind": "double_baking_evidence", "bh1": $alpha.block_header.alpha.full_header, "bh2": $alpha.block_header.alpha.full_header } || { /* Activate_account */ "kind": "activate_account", "pkh": $Ed25519.Public_key_hash, "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Proposals */ "kind": "proposals", "source": $Signature.Public_key_hash, "period": integer ∈ [-2^31-1, 2^31], "proposals": [ $Protocol_hash ... ] } || { /* Ballot */ "kind": "ballot", "source": $Signature.Public_key_hash, "period": integer ∈ [-2^31-1, 2^31], "proposal": $Protocol_hash, "ballot": "nay" | "yay" | "pass" } || { /* Reveal */ "kind": "reveal", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "public_key": $Signature.Public_key } || { /* Transaction */ "kind": "transaction", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "amount": $alpha.mutez, "destination": $alpha.contract_id, "parameters"?: { "entrypoint": $alpha.entrypoint, "value": any } } || { /* Origination */ "kind": "origination", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "balance": $alpha.mutez, "delegate"?: $Signature.Public_key_hash, "script": $alpha.scripted.contracts } || { /* Delegation */ "kind": "delegation", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "delegate"?: $Signature.Public_key_hash } || { /* Set_deposits_limit */ "kind": "set_deposits_limit", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "limit"?: $alpha.mutez } || { /* Increase_paid_storage */ "kind": "increase_paid_storage", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "amount": $bignum, "destination": $alpha.contract_id.originated } || { /* Update_consensus_key */ "kind": "update_consensus_key", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "pk": $Signature.Public_key } || { /* Drain_delegate */ "kind": "drain_delegate", "consensus_key": $Signature.Public_key_hash, "delegate": $Signature.Public_key_hash, "destination": $Signature.Public_key_hash } || { /* Failing_noop */ "kind": "failing_noop", "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Register_global_constant */ "kind": "register_global_constant", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "value": any } || { /* Transfer_ticket */ "kind": "transfer_ticket", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "ticket_contents": any, "ticket_ty": any, "ticket_ticketer": $alpha.contract_id, "ticket_amount": $positive_bignum, "destination": $alpha.contract_id, "entrypoint": $unistring } || { /* Dal_publish_commitment */ "kind": "dal_publish_commitment", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "slot_header": { "slot_index": integer ∈ [0, 255], "commitment": $DAL_commitment, "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } } || { /* Smart_rollup_originate */ "kind": "smart_rollup_originate", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "pvm_kind": "wasm_2_0_0" | "arith" | "riscv", "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "parameters_ty": any, "whitelist"?: [ $Signature.Public_key_hash ... ] } || { /* Smart_rollup_add_messages */ "kind": "smart_rollup_add_messages", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] } || { /* Smart_rollup_cement */ "kind": "smart_rollup_cement", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address } || { /* Smart_rollup_publish */ "kind": "smart_rollup_publish", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "commitment": { "compressed_state": $smart_rollup_state_hash, "inbox_level": integer ∈ [0, 2^31], "predecessor": $smart_rollup_commitment_hash, "number_of_ticks": $int64 } } || { /* Smart_rollup_refute */ "kind": "smart_rollup_refute", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "opponent": $Signature.Public_key_hash, "refutation": { /* Start */ "refutation_kind": "start", "player_commitment_hash": $smart_rollup_commitment_hash, "opponent_commitment_hash": $smart_rollup_commitment_hash } || { /* Move */ "refutation_kind": "move", "choice": $positive_bignum, "step": [ { "state"?: $smart_rollup_state_hash, "tick": $positive_bignum } ... ] /* Dissection */ || { /* Proof */ "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "input_proof"?: { /* inbox proof */ "input_proof_kind": "inbox_proof", "level": integer ∈ [0, 2^31], "message_counter": $positive_bignum, "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* reveal proof */ "input_proof_kind": "reveal_proof", "reveal_proof": { /* raw data proof */ "reveal_proof_kind": "raw_data_proof", "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* metadata proof */ "reveal_proof_kind": "metadata_proof" } || { /* dal page proof */ "reveal_proof_kind": "dal_page_proof", "dal_page_id": { "published_level": integer ∈ [0, 2^31], "slot_index": integer ∈ [0, 255], "page_index": integer ∈ [-2^15, 2^15-1] }, "dal_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* dal parameters proof */ "reveal_proof_kind": "dal_parameters_proof" } } || { /* first input */ "input_proof_kind": "first_input" } } } } || { /* Smart_rollup_timeout */ "kind": "smart_rollup_timeout", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "stakers": { "alice": $Signature.Public_key_hash, "bob": $Signature.Public_key_hash } } || { /* Smart_rollup_execute_outbox_message */ "kind": "smart_rollup_execute_outbox_message", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "cemented_commitment": $smart_rollup_commitment_hash, "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Smart_rollup_recover_bond */ "kind": "smart_rollup_recover_bond", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "staker": $Signature.Public_key_hash } || { /* Zk_rollup_origination */ "kind": "zk_rollup_origination", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "circuits_info": [ [ $unistring, { /* Public */ "public": any } || { /* Private */ "private": any } || { /* Fee */ "fee": any } ] ... ], "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "nb_ops": integer ∈ [-2^30, 2^30] } || { /* Zk_rollup_publish */ "kind": "zk_rollup_publish", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "zk_rollup": $Zk_rollup_hash, "op": [ [ { "op_code": integer ∈ [-2^30, 2^30], "price": { "id": $script_expr, "amount": $bignum }, "l1_dst": $Signature.Public_key_hash, "rollup_id": $Zk_rollup_hash, "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }, { /* Some */ "contents": $micheline.alpha.michelson_v1.expression, "ty": $micheline.alpha.michelson_v1.expression, "ticketer": $alpha.contract_id } || null /* None */ ] ... ] } || { /* Zk_rollup_update */ "kind": "zk_rollup_update", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "zk_rollup": $Zk_rollup_hash, "update": { "pending_pis": [ [ $unistring, { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "exit_validity": boolean } ] ... ], "private_pis": [ [ $unistring, { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ], "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }, "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } } || { /* Host */ "kind": "host", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "guest": $Signature.Public_key_hash, "guest_signature": $Signature.V1 } $alpha.operation_with_legacy_attestation_name.alpha.contents: { /* Preendorsement */ "kind": "preendorsement", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Endorsement */ "kind": "endorsement", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash } || { /* Endorsement_with_dal */ "kind": "endorsement_with_dal", "slot": integer ∈ [0, 2^16-1], "level": integer ∈ [0, 2^31], "round": integer ∈ [-2^31-1, 2^31], "block_payload_hash": $value_hash, "dal_attestation": $bignum } || { /* Double_preendorsement_evidence */ "kind": "double_preendorsement_evidence", "op1": $alpha.inlined.preendorsement, "op2": $alpha.inlined.preendorsement } || { /* Double_endorsement_evidence */ "kind": "double_endorsement_evidence", "op1": $alpha.inlined.endorsement, "op2": $alpha.inlined.endorsement } || { /* Seed_nonce_revelation */ "kind": "seed_nonce_revelation", "level": integer ∈ [0, 2^31], "nonce": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Vdf_revelation */ "kind": "vdf_revelation", "solution": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/, /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ] } || { /* Double_baking_evidence */ "kind": "double_baking_evidence", "bh1": $alpha.block_header.alpha.full_header, "bh2": $alpha.block_header.alpha.full_header } || { /* Activate_account */ "kind": "activate_account", "pkh": $Ed25519.Public_key_hash, "secret": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Proposals */ "kind": "proposals", "source": $Signature.Public_key_hash, "period": integer ∈ [-2^31-1, 2^31], "proposals": [ $Protocol_hash ... ] } || { /* Ballot */ "kind": "ballot", "source": $Signature.Public_key_hash, "period": integer ∈ [-2^31-1, 2^31], "proposal": $Protocol_hash, "ballot": "nay" | "yay" | "pass" } || { /* Reveal */ "kind": "reveal", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "public_key": $Signature.Public_key } || { /* Transaction */ "kind": "transaction", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "amount": $alpha.mutez, "destination": $alpha.contract_id, "parameters"?: { "entrypoint": $alpha.entrypoint, "value": any } } || { /* Origination */ "kind": "origination", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "balance": $alpha.mutez, "delegate"?: $Signature.Public_key_hash, "script": $alpha.scripted.contracts } || { /* Delegation */ "kind": "delegation", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "delegate"?: $Signature.Public_key_hash } || { /* Set_deposits_limit */ "kind": "set_deposits_limit", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "limit"?: $alpha.mutez } || { /* Increase_paid_storage */ "kind": "increase_paid_storage", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "amount": $bignum, "destination": $alpha.contract_id.originated } || { /* Update_consensus_key */ "kind": "update_consensus_key", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "pk": $Signature.Public_key } || { /* Drain_delegate */ "kind": "drain_delegate", "consensus_key": $Signature.Public_key_hash, "delegate": $Signature.Public_key_hash, "destination": $Signature.Public_key_hash } || { /* Failing_noop */ "kind": "failing_noop", "arbitrary": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Register_global_constant */ "kind": "register_global_constant", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "value": any } || { /* Transfer_ticket */ "kind": "transfer_ticket", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "ticket_contents": any, "ticket_ty": any, "ticket_ticketer": $alpha.contract_id, "ticket_amount": $positive_bignum, "destination": $alpha.contract_id, "entrypoint": $unistring } || { /* Dal_publish_commitment */ "kind": "dal_publish_commitment", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "slot_header": { "slot_index": integer ∈ [0, 255], "commitment": $DAL_commitment, "commitment_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } } || { /* Smart_rollup_originate */ "kind": "smart_rollup_originate", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "pvm_kind": "wasm_2_0_0" | "arith" | "riscv", "kernel": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "parameters_ty": any, "whitelist"?: [ $Signature.Public_key_hash ... ] } || { /* Smart_rollup_add_messages */ "kind": "smart_rollup_add_messages", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "message": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] } || { /* Smart_rollup_cement */ "kind": "smart_rollup_cement", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address } || { /* Smart_rollup_publish */ "kind": "smart_rollup_publish", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "commitment": { "compressed_state": $smart_rollup_state_hash, "inbox_level": integer ∈ [0, 2^31], "predecessor": $smart_rollup_commitment_hash, "number_of_ticks": $int64 } } || { /* Smart_rollup_refute */ "kind": "smart_rollup_refute", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "opponent": $Signature.Public_key_hash, "refutation": { /* Start */ "refutation_kind": "start", "player_commitment_hash": $smart_rollup_commitment_hash, "opponent_commitment_hash": $smart_rollup_commitment_hash } || { /* Move */ "refutation_kind": "move", "choice": $positive_bignum, "step": [ { "state"?: $smart_rollup_state_hash, "tick": $positive_bignum } ... ] /* Dissection */ || { /* Proof */ "pvm_step": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "input_proof"?: { /* inbox proof */ "input_proof_kind": "inbox_proof", "level": integer ∈ [0, 2^31], "message_counter": $positive_bignum, "serialized_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* reveal proof */ "input_proof_kind": "reveal_proof", "reveal_proof": { /* raw data proof */ "reveal_proof_kind": "raw_data_proof", "raw_data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* metadata proof */ "reveal_proof_kind": "metadata_proof" } || { /* dal page proof */ "reveal_proof_kind": "dal_page_proof", "dal_page_id": { "published_level": integer ∈ [0, 2^31], "slot_index": integer ∈ [0, 255], "page_index": integer ∈ [-2^15, 2^15-1] }, "dal_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* dal parameters proof */ "reveal_proof_kind": "dal_parameters_proof" } } || { /* first input */ "input_proof_kind": "first_input" } } } } || { /* Smart_rollup_timeout */ "kind": "smart_rollup_timeout", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "stakers": { "alice": $Signature.Public_key_hash, "bob": $Signature.Public_key_hash } } || { /* Smart_rollup_execute_outbox_message */ "kind": "smart_rollup_execute_outbox_message", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "cemented_commitment": $smart_rollup_commitment_hash, "output_proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || { /* Smart_rollup_recover_bond */ "kind": "smart_rollup_recover_bond", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "rollup": $smart_rollup_address, "staker": $Signature.Public_key_hash } || { /* Zk_rollup_origination */ "kind": "zk_rollup_origination", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "public_parameters": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "circuits_info": [ [ $unistring, { /* Public */ "public": any } || { /* Private */ "private": any } || { /* Fee */ "fee": any } ] ... ], "init_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "nb_ops": integer ∈ [-2^30, 2^30] } || { /* Zk_rollup_publish */ "kind": "zk_rollup_publish", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "zk_rollup": $Zk_rollup_hash, "op": [ [ { "op_code": integer ∈ [-2^30, 2^30], "price": { "id": $script_expr, "amount": $bignum }, "l1_dst": $Signature.Public_key_hash, "rollup_id": $Zk_rollup_hash, "payload": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }, { /* Some */ "contents": $micheline.alpha.michelson_v1.expression, "ty": $micheline.alpha.michelson_v1.expression, "ticketer": $alpha.contract_id } || null /* None */ ] ... ] } || { /* Zk_rollup_update */ "kind": "zk_rollup_update", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "zk_rollup": $Zk_rollup_hash, "update": { "pending_pis": [ [ $unistring, { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "exit_validity": boolean } ] ... ], "private_pis": [ [ $unistring, { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ], "fee": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ] ... ], "fee_pi": { "new_state": [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] }, "proof": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } } || { /* Host */ "kind": "host", "source": $Signature.Public_key_hash, "fee": $alpha.mutez, "counter": $positive_bignum, "gas_limit": $positive_bignum, "storage_limit": $positive_bignum, "guest": $Signature.Public_key_hash, "guest_signature": $Signature.V1 } $alpha.scripted.contracts: { "code": any, "storage": any } $bignum: /* Big number Decimal representation of a big number */ string $block_hash: /* A block identifier (Base58Check-encoded) */ $unistring $cycle_nonce: /* A nonce hash (Base58Check-encoded) */ $unistring $fitness: /* Block fitness The fitness, or score, of a block, that allow the Tezos to decide which chain is the best. A fitness value is a list of byte sequences. They are compared as follows: shortest lists are smaller; lists of the same length are compared according to the lexicographical order. */ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] $int64: /* 64 bit integers Decimal representation of 64 bit integers */ string $micheline.alpha.michelson_v1.expression: { /* Int */ "int": $bignum } || { /* String */ "string": $unistring } || { /* Bytes */ "bytes": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } || [ $micheline.alpha.michelson_v1.expression ... ] /* Sequence */ || { /* Prim__generic Generic primitive (any number of args with or without annotations) */ "prim": $alpha.michelson.v1.primitives, "args"?: [ $micheline.alpha.michelson_v1.expression ... ], "annots"?: [ $unistring ... ] } $next_operation: /* An operation's shell header. */ { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK", "branch": $block_hash, "contents": [ $alpha.operation.alpha.contents ... ], "signature"?: $Signature.V1 } $next_operation_with_legacy_attestation_name: /* An operation's shell header. */ { "protocol": "ProtoALphaALphaALphaALphaALphaALphaALphaALphaDdp3zK", "branch": $block_hash, "contents": [ $alpha.operation_with_legacy_attestation_name.alpha.contents ... ], "signature"?: $Signature.V1 } $positive_bignum: /* Positive big number Decimal representation of a positive big number */ string $script_expr: /* A script expression ID (Base58Check-encoded) */ $unistring $smart_rollup_address: /* A smart rollup address (Base58Check-encoded) */ $unistring $smart_rollup_commitment_hash: /* The hash of a commitment of a smart rollup (Base58Check-encoded) */ $unistring $smart_rollup_state_hash: /* The hash of the VM state of a smart rollup (Base58Check-encoded) */ $unistring $timestamp.protocol: /* A timestamp as seen by the protocol: second-level precision, epoch based. */ $unistring $unistring: /* Universal string representation Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences. */ string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] } $value_hash: /* Hash of a consensus value (Base58Check-encoded) */ $unistring
+-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | protocol_data | Determined from data | $X_0 | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | operations | Variable | sequence of $X_1 | +-----------------------+----------------------+------------------------------------+ alpha.per_block_votes (1 byte, 8-bit tag) ***************************************** case_0 (tag 0) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_1 (tag 1) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_2 (tag 2) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_4 (tag 4) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_5 (tag 5) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_6 (tag 6) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_8 (tag 8) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_9 (tag 9) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ case_10 (tag 10) ================ +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ X_0 *** +---------------------------------------+----------+-------------------------------------+ | Name | Size | Contents | +=======================================+==========+=====================================+ | # bytes in next 7 fields | 4 bytes | unsigned 30-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | payload_hash | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | payload_round | 4 bytes | signed 32-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | proof_of_work_nonce | 8 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | ? presence of field "seed_nonce_hash" | 1 byte | boolean (0 for false, 255 for true) | +---------------------------------------+----------+-------------------------------------+ | seed_nonce_hash | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | per_block_votes | 1 byte | $alpha.per_block_votes | +---------------------------------------+----------+-------------------------------------+ | signature | Variable | bytes | +---------------------------------------+----------+-------------------------------------+ bls_signature_prefix (33 bytes, 8-bit tag) ****************************************** Bls_prefix (tag 3) ================== +-----------------+----------+------------------------+ | Name | Size | Contents | +=================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------+----------+------------------------+ | Unnamed field 0 | 32 bytes | bytes | +-----------------+----------+------------------------+ public_key_hash (21 bytes, 8-bit tag) ************************************* Ed25519 (tag 0) =============== +-------------------------+----------+------------------------+ | Name | Size | Contents | +=========================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +-------------------------+----------+------------------------+ | Ed25519.Public_key_hash | 20 bytes | bytes | +-------------------------+----------+------------------------+ Secp256k1 (tag 1) ================= +---------------------------+----------+------------------------+ | Name | Size | Contents | +===========================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------------------+----------+------------------------+ | Secp256k1.Public_key_hash | 20 bytes | bytes | +---------------------------+----------+------------------------+ P256 (tag 2) ============ +----------------------+----------+------------------------+ | Name | Size | Contents | +======================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +----------------------+----------+------------------------+ | P256.Public_key_hash | 20 bytes | bytes | +----------------------+----------+------------------------+ Bls (tag 3) =========== +---------------------------+----------+------------------------+ | Name | Size | Contents | +===========================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------------------+----------+------------------------+ | Bls12_381.Public_key_hash | 20 bytes | bytes | +---------------------------+----------+------------------------+ N.t *** A variable-length sequence of bytes encoding a Zarith natural number. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). Size bits ignored, the data is the binary representation of the number in little-endian order. +------+----------------------+----------+ | Name | Size | Contents | +======+======================+==========+ | N.t | Determined from data | bytes | +------+----------------------+----------+ X_4 *** +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | bytes | +-----------------------+----------+------------------------------------+ X_5 *** +-----------------------+----------+-------------------------------------+ | Name | Size | Contents | +=======================+==========+=====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+-------------------------------------+ | new_state | Variable | sequence of bytes | +-----------------------+----------+-------------------------------------+ | fee | 32 bytes | bytes | +-----------------------+----------+-------------------------------------+ | exit_validity | 1 byte | boolean (0 for false, 255 for true) | +-----------------------+----------+-------------------------------------+ X_3 *** +-----------------+----------------------+----------+ | Name | Size | Contents | +=================+======================+==========+ | Unnamed field 0 | Determined from data | $X_4 | +-----------------+----------------------+----------+ | Unnamed field 1 | Determined from data | $X_5 | +-----------------+----------------------+----------+ X_8 *** +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | new_state | Variable | sequence of bytes | +-----------------------+----------+------------------------------------+ | fee | 32 bytes | bytes | +-----------------------+----------+------------------------------------+ X_6 *** +-----------------+----------------------+----------+ | Name | Size | Contents | +=================+======================+==========+ | Unnamed field 0 | Determined from data | $X_4 | +-----------------+----------------------+----------+ | Unnamed field 1 | Determined from data | $X_8 | +-----------------+----------------------+----------+ X_9 *** +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | sequence of bytes | +-----------------------+----------+------------------------------------+ X_2 *** +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | pending_pis | Variable | sequence of $X_3 | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | private_pis | Variable | sequence of $X_6 | +-----------------------+----------------------+------------------------------------+ | fee_pi | Determined from data | $X_9 | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | proof | Variable | bytes | +-----------------------+----------------------+------------------------------------+ Z.t *** A variable-length sequence of bytes encoding a Zarith integer. Each byte has a running unary size bit: the most significant bit of each byte indicates whether this is the last byte in the sequence (0) or whether the sequence continues (1). The second most significant bit of the first byte is reserved for the sign (0 for positive, 1 for negative). Size and sign bits ignored, the data is the binary representation of the absolute value of the number in little-endian order. +------+----------------------+----------+ | Name | Size | Contents | +======+======================+==========+ | Z.t | Determined from data | bytes | +------+----------------------+----------+ X_12 **** +--------+----------------------+----------+ | Name | Size | Contents | +========+======================+==========+ | id | 32 bytes | bytes | +--------+----------------------+----------+ | amount | Determined from data | $Z.t | +--------+----------------------+----------+ X_11 **** +-----------------------+----------------------+-------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+======================+=========================================================================+ | op_code | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 | +-----------------------+----------------------+-------------------------------------------------------------------------+ | price | Determined from data | $X_12 | +-----------------------+----------------------+-------------------------------------------------------------------------+ | l1_dst | 21 bytes | $public_key_hash | +-----------------------+----------------------+-------------------------------------------------------------------------+ | rollup_id | 20 bytes | bytes | +-----------------------+----------------------+-------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+-------------------------------------------------------------------------+ | payload | Variable | sequence of bytes | +-----------------------+----------------------+-------------------------------------------------------------------------+ alpha.michelson.v1.primitives (Enumeration: unsigned 8-bit integer): ******************************************************************** +-------------+--------------------------------+ | Case number | Encoded string | +=============+================================+ | 0 | parameter | +-------------+--------------------------------+ | 1 | storage | +-------------+--------------------------------+ | 2 | code | +-------------+--------------------------------+ | 3 | False | +-------------+--------------------------------+ | 4 | Elt | +-------------+--------------------------------+ | 5 | Left | +-------------+--------------------------------+ | 6 | None | +-------------+--------------------------------+ | 7 | Pair | +-------------+--------------------------------+ | 8 | Right | +-------------+--------------------------------+ | 9 | Some | +-------------+--------------------------------+ | 10 | True | +-------------+--------------------------------+ | 11 | Unit | +-------------+--------------------------------+ | 12 | PACK | +-------------+--------------------------------+ | 13 | UNPACK | +-------------+--------------------------------+ | 14 | BLAKE2B | +-------------+--------------------------------+ | 15 | SHA256 | +-------------+--------------------------------+ | 16 | SHA512 | +-------------+--------------------------------+ | 17 | ABS | +-------------+--------------------------------+ | 18 | ADD | +-------------+--------------------------------+ | 19 | AMOUNT | +-------------+--------------------------------+ | 20 | AND | +-------------+--------------------------------+ | 21 | BALANCE | +-------------+--------------------------------+ | 22 | CAR | +-------------+--------------------------------+ | 23 | CDR | +-------------+--------------------------------+ | 24 | CHECK_SIGNATURE | +-------------+--------------------------------+ | 25 | COMPARE | +-------------+--------------------------------+ | 26 | CONCAT | +-------------+--------------------------------+ | 27 | CONS | +-------------+--------------------------------+ | 28 | CREATE_ACCOUNT | +-------------+--------------------------------+ | 29 | CREATE_CONTRACT | +-------------+--------------------------------+ | 30 | IMPLICIT_ACCOUNT | +-------------+--------------------------------+ | 31 | DIP | +-------------+--------------------------------+ | 32 | DROP | +-------------+--------------------------------+ | 33 | DUP | +-------------+--------------------------------+ | 34 | EDIV | +-------------+--------------------------------+ | 35 | EMPTY_MAP | +-------------+--------------------------------+ | 36 | EMPTY_SET | +-------------+--------------------------------+ | 37 | EQ | +-------------+--------------------------------+ | 38 | EXEC | +-------------+--------------------------------+ | 39 | FAILWITH | +-------------+--------------------------------+ | 40 | GE | +-------------+--------------------------------+ | 41 | GET | +-------------+--------------------------------+ | 42 | GT | +-------------+--------------------------------+ | 43 | HASH_KEY | +-------------+--------------------------------+ | 44 | IF | +-------------+--------------------------------+ | 45 | IF_CONS | +-------------+--------------------------------+ | 46 | IF_LEFT | +-------------+--------------------------------+ | 47 | IF_NONE | +-------------+--------------------------------+ | 48 | INT | +-------------+--------------------------------+ | 49 | LAMBDA | +-------------+--------------------------------+ | 50 | LE | +-------------+--------------------------------+ | 51 | LEFT | +-------------+--------------------------------+ | 52 | LOOP | +-------------+--------------------------------+ | 53 | LSL | +-------------+--------------------------------+ | 54 | LSR | +-------------+--------------------------------+ | 55 | LT | +-------------+--------------------------------+ | 56 | MAP | +-------------+--------------------------------+ | 57 | MEM | +-------------+--------------------------------+ | 58 | MUL | +-------------+--------------------------------+ | 59 | NEG | +-------------+--------------------------------+ | 60 | NEQ | +-------------+--------------------------------+ | 61 | NIL | +-------------+--------------------------------+ | 62 | NONE | +-------------+--------------------------------+ | 63 | NOT | +-------------+--------------------------------+ | 64 | NOW | +-------------+--------------------------------+ | 65 | OR | +-------------+--------------------------------+ | 66 | PAIR | +-------------+--------------------------------+ | 67 | PUSH | +-------------+--------------------------------+ | 68 | RIGHT | +-------------+--------------------------------+ | 69 | SIZE | +-------------+--------------------------------+ | 70 | SOME | +-------------+--------------------------------+ | 71 | SOURCE | +-------------+--------------------------------+ | 72 | SENDER | +-------------+--------------------------------+ | 73 | SELF | +-------------+--------------------------------+ | 74 | STEPS_TO_QUOTA | +-------------+--------------------------------+ | 75 | SUB | +-------------+--------------------------------+ | 76 | SWAP | +-------------+--------------------------------+ | 77 | TRANSFER_TOKENS | +-------------+--------------------------------+ | 78 | SET_DELEGATE | +-------------+--------------------------------+ | 79 | UNIT | +-------------+--------------------------------+ | 80 | UPDATE | +-------------+--------------------------------+ | 81 | XOR | +-------------+--------------------------------+ | 82 | ITER | +-------------+--------------------------------+ | 83 | LOOP_LEFT | +-------------+--------------------------------+ | 84 | ADDRESS | +-------------+--------------------------------+ | 85 | CONTRACT | +-------------+--------------------------------+ | 86 | ISNAT | +-------------+--------------------------------+ | 87 | CAST | +-------------+--------------------------------+ | 88 | RENAME | +-------------+--------------------------------+ | 89 | bool | +-------------+--------------------------------+ | 90 | contract | +-------------+--------------------------------+ | 91 | int | +-------------+--------------------------------+ | 92 | key | +-------------+--------------------------------+ | 93 | key_hash | +-------------+--------------------------------+ | 94 | lambda | +-------------+--------------------------------+ | 95 | list | +-------------+--------------------------------+ | 96 | map | +-------------+--------------------------------+ | 97 | big_map | +-------------+--------------------------------+ | 98 | nat | +-------------+--------------------------------+ | 99 | option | +-------------+--------------------------------+ | 100 | or | +-------------+--------------------------------+ | 101 | pair | +-------------+--------------------------------+ | 102 | set | +-------------+--------------------------------+ | 103 | signature | +-------------+--------------------------------+ | 104 | string | +-------------+--------------------------------+ | 105 | bytes | +-------------+--------------------------------+ | 106 | mutez | +-------------+--------------------------------+ | 107 | timestamp | +-------------+--------------------------------+ | 108 | unit | +-------------+--------------------------------+ | 109 | operation | +-------------+--------------------------------+ | 110 | address | +-------------+--------------------------------+ | 111 | SLICE | +-------------+--------------------------------+ | 112 | DIG | +-------------+--------------------------------+ | 113 | DUG | +-------------+--------------------------------+ | 114 | EMPTY_BIG_MAP | +-------------+--------------------------------+ | 115 | APPLY | +-------------+--------------------------------+ | 116 | chain_id | +-------------+--------------------------------+ | 117 | CHAIN_ID | +-------------+--------------------------------+ | 118 | LEVEL | +-------------+--------------------------------+ | 119 | SELF_ADDRESS | +-------------+--------------------------------+ | 120 | never | +-------------+--------------------------------+ | 121 | NEVER | +-------------+--------------------------------+ | 122 | UNPAIR | +-------------+--------------------------------+ | 123 | VOTING_POWER | +-------------+--------------------------------+ | 124 | TOTAL_VOTING_POWER | +-------------+--------------------------------+ | 125 | KECCAK | +-------------+--------------------------------+ | 126 | SHA3 | +-------------+--------------------------------+ | 127 | PAIRING_CHECK | +-------------+--------------------------------+ | 128 | bls12_381_g1 | +-------------+--------------------------------+ | 129 | bls12_381_g2 | +-------------+--------------------------------+ | 130 | bls12_381_fr | +-------------+--------------------------------+ | 131 | sapling_state | +-------------+--------------------------------+ | 132 | sapling_transaction_deprecated | +-------------+--------------------------------+ | 133 | SAPLING_EMPTY_STATE | +-------------+--------------------------------+ | 134 | SAPLING_VERIFY_UPDATE | +-------------+--------------------------------+ | 135 | ticket | +-------------+--------------------------------+ | 136 | TICKET_DEPRECATED | +-------------+--------------------------------+ | 137 | READ_TICKET | +-------------+--------------------------------+ | 138 | SPLIT_TICKET | +-------------+--------------------------------+ | 139 | JOIN_TICKETS | +-------------+--------------------------------+ | 140 | GET_AND_UPDATE | +-------------+--------------------------------+ | 141 | chest | +-------------+--------------------------------+ | 142 | chest_key | +-------------+--------------------------------+ | 143 | OPEN_CHEST | +-------------+--------------------------------+ | 144 | VIEW | +-------------+--------------------------------+ | 145 | view | +-------------+--------------------------------+ | 146 | constant | +-------------+--------------------------------+ | 147 | SUB_MUTEZ | +-------------+--------------------------------+ | 148 | tx_rollup_l2_address | +-------------+--------------------------------+ | 149 | MIN_BLOCK_TIME | +-------------+--------------------------------+ | 150 | sapling_transaction | +-------------+--------------------------------+ | 151 | EMIT | +-------------+--------------------------------+ | 152 | Lambda_rec | +-------------+--------------------------------+ | 153 | LAMBDA_REC | +-------------+--------------------------------+ | 154 | TICKET | +-------------+--------------------------------+ | 155 | BYTES | +-------------+--------------------------------+ | 156 | NAT | +-------------+--------------------------------+ | 157 | Ticket | +-------------+--------------------------------+ micheline.alpha.michelson_v1.expression (Determined from data, 8-bit tag) ************************************************************************* Int (tag 0) =========== +------+----------------------+------------------------+ | Name | Size | Contents | +======+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+----------------------+------------------------+ | int | Determined from data | $Z.t | +------+----------------------+------------------------+ String (tag 1) ============== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian 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 big-endian integer | +-----------------------+----------+------------------------------------------------------+ | Unnamed field 0 | Variable | sequence of $micheline.alpha.michelson_v1.expression | +-----------------------+----------+------------------------------------------------------+ Prim__no_args__no_annots (tag 3) ================================ +------+--------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +======+========+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +------+--------+------------------------------------------------------------------------------------+ Prim__no_args__some_annots (tag 4) ================================== +-----------------------+----------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +-----------------------+----------+------------------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------------------------------------------------------+ | annots | Variable | bytes | +-----------------------+----------+------------------------------------------------------------------------------------+ Prim__1_arg__no_annots (tag 5) ============================== +------+----------------------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +======+======================+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +------+----------------------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +------+----------------------+------------------------------------------------------------------------------------+ | arg | Determined from data | $micheline.alpha.michelson_v1.expression | +------+----------------------+------------------------------------------------------------------------------------+ Prim__1_arg__some_annots (tag 6) ================================ +-----------------------+----------------------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | arg | Determined from data | $micheline.alpha.michelson_v1.expression | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | annots | Variable | bytes | +-----------------------+----------------------+------------------------------------------------------------------------------------+ Prim__2_args__no_annots (tag 7) =============================== +------+----------------------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +======+======================+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +------+----------------------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +------+----------------------+------------------------------------------------------------------------------------+ | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression | +------+----------------------+------------------------------------------------------------------------------------+ | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression | +------+----------------------+------------------------------------------------------------------------------------+ Prim__2_args__some_annots (tag 8) ================================= +-----------------------+----------------------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | arg1 | Determined from data | $micheline.alpha.michelson_v1.expression | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | arg2 | Determined from data | $micheline.alpha.michelson_v1.expression | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------------------------------------------------------+ | annots | Variable | bytes | +-----------------------+----------------------+------------------------------------------------------------------------------------+ Prim__generic (tag 9) ===================== +-----------------------+----------+------------------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------------------------------------------------------+ | prim | 1 byte | unsigned 8-bit integer encoding an enumeration (see alpha.michelson.v1.primitives) | +-----------------------+----------+------------------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------------------------------------------------------+ | args | Variable | sequence of $micheline.alpha.michelson_v1.expression | +-----------------------+----------+------------------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian 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 big-endian integer | +-----------------------+----------+------------------------------------+ | bytes | Variable | bytes | +-----------------------+----------+------------------------------------+ alpha.contract_id (22 bytes, 8-bit tag) *************************************** Implicit (tag 0) ================ +---------------------------+----------+------------------------+ | Name | Size | Contents | +===========================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------------------+----------+------------------------+ | Signature.Public_key_hash | 21 bytes | $public_key_hash | +---------------------------+----------+------------------------+ Originated (tag 1) ================== +---------------+----------+------------------------+ | Name | Size | Contents | +===============+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------+------------------------+ | Contract_hash | 20 bytes | bytes | +---------------+----------+------------------------+ | padding | 1 byte | padding | +---------------+----------+------------------------+ X_15 (Determined from data, 8-bit tag) ************************************** None (tag 0) ============ +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ Some (tag 1) ============ +----------+----------------------+------------------------------------------+ | Name | Size | Contents | +==========+======================+==========================================+ | Tag | 1 byte | unsigned 8-bit integer | +----------+----------------------+------------------------------------------+ | contents | Determined from data | $micheline.alpha.michelson_v1.expression | +----------+----------------------+------------------------------------------+ | ty | Determined from data | $micheline.alpha.michelson_v1.expression | +----------+----------------------+------------------------------------------+ | ticketer | 22 bytes | $alpha.contract_id | +----------+----------------------+------------------------------------------+ X_10 **** +-----------------+----------------------+----------+ | Name | Size | Contents | +=================+======================+==========+ | Unnamed field 0 | Determined from data | $X_11 | +-----------------+----------------------+----------+ | Unnamed field 1 | Determined from data | $X_15 | +-----------------+----------------------+----------+ X_18 (1 byte, 8-bit tag) ************************ Public (tag 0) ============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ Private (tag 1) =============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ Fee (tag 2) =========== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ X_16 **** +-----------------+----------------------+----------+ | Name | Size | Contents | +=================+======================+==========+ | Unnamed field 0 | Determined from data | $X_4 | +-----------------+----------------------+----------+ | Unnamed field 1 | 1 byte | $X_18 | +-----------------+----------------------+----------+ X_19 **** +------------------+----------+------------------------+ | Name | Size | Contents | +==================+==========+========================+ | slot_index | 1 byte | unsigned 8-bit integer | +------------------+----------+------------------------+ | commitment | 48 bytes | bytes | +------------------+----------+------------------------+ | commitment_proof | 96 bytes | bytes | +------------------+----------+------------------------+ X_20 **** +-------+----------+------------------+ | Name | Size | Contents | +=======+==========+==================+ | alice | 21 bytes | $public_key_hash | +-------+----------+------------------+ | bob | 21 bytes | $public_key_hash | +-------+----------+------------------+ X_21 **** +-----------------+---------+----------------------------------+ | Name | Size | Contents | +=================+=========+==================================+ | published_level | 4 bytes | signed 32-bit big-endian integer | +-----------------+---------+----------------------------------+ | slot_index | 1 byte | unsigned 8-bit integer | +-----------------+---------+----------------------------------+ | page_index | 2 bytes | signed 16-bit big-endian integer | +-----------------+---------+----------------------------------+ X_22 (Determined from data, 8-bit tag) ************************************** raw data proof (tag 0) ====================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 2 bytes | unsigned 16-bit big-endian integer | +-----------------------+----------+------------------------------------+ | raw_data | Variable | bytes | +-----------------------+----------+------------------------------------+ metadata proof (tag 1) ====================== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ dal page proof (tag 2) ====================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | dal_page_id | 7 bytes | $X_21 | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | dal_proof | Variable | bytes | +-----------------------+----------+------------------------------------+ dal parameters proof (tag 3) ============================ +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ X_23 (Determined from data, 8-bit tag) ************************************** inbox proof (tag 0) =================== +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | message_counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | serialized_proof | Variable | bytes | +-----------------------+----------------------+------------------------------------+ reveal proof (tag 1) ==================== +--------------+----------------------+------------------------+ | Name | Size | Contents | +==============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------+----------------------+------------------------+ | reveal_proof | Determined from data | $X_22 | +--------------+----------------------+------------------------+ first input (tag 2) =================== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ X_24 **** +-----------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +=============================+======================+=====================================+ | ? presence of field "state" | 1 byte | boolean (0 for false, 255 for true) | +-----------------------------+----------------------+-------------------------------------+ | state | 32 bytes | bytes | +-----------------------------+----------------------+-------------------------------------+ | tick | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ X_25 (Determined from data, 8-bit tag) ************************************** Dissection (tag 0) ================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | sequence of $X_24 | +-----------------------+----------+------------------------------------+ Proof (tag 1) ============= +-----------------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +===================================+======================+=====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------------------+----------------------+-------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------------------+----------------------+-------------------------------------+ | pvm_step | Variable | bytes | +-----------------------------------+----------------------+-------------------------------------+ | ? presence of field "input_proof" | 1 byte | boolean (0 for false, 255 for true) | +-----------------------------------+----------------------+-------------------------------------+ | input_proof | Determined from data | $X_23 | +-----------------------------------+----------------------+-------------------------------------+ X_26 (Determined from data, 8-bit tag) ************************************** Start (tag 0) ============= +--------------------------+----------+------------------------+ | Name | Size | Contents | +==========================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------------+----------+------------------------+ | player_commitment_hash | 32 bytes | bytes | +--------------------------+----------+------------------------+ | opponent_commitment_hash | 32 bytes | bytes | +--------------------------+----------+------------------------+ Move (tag 1) ============ +--------+----------------------+------------------------+ | Name | Size | Contents | +========+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +--------+----------------------+------------------------+ | choice | Determined from data | $N.t | +--------+----------------------+------------------------+ | step | Determined from data | $X_25 | +--------+----------------------+------------------------+ X_27 **** +------------------+----------+----------------------------------+ | Name | Size | Contents | +==================+==========+==================================+ | compressed_state | 32 bytes | bytes | +------------------+----------+----------------------------------+ | inbox_level | 4 bytes | signed 32-bit big-endian integer | +------------------+----------+----------------------------------+ | predecessor | 32 bytes | bytes | +------------------+----------+----------------------------------+ | number_of_ticks | 8 bytes | signed 64-bit big-endian integer | +------------------+----------+----------------------------------+ X_29 (Enumeration: unsigned 8-bit integer): ******************************************* +-------------+----------------+ | Case number | Encoded string | +=============+================+ | 0 | arith | +-------------+----------------+ | 1 | wasm_2_0_0 | +-------------+----------------+ | 2 | riscv | +-------------+----------------+ X_30 **** +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | sequence of $public_key_hash | +-----------------------+----------+------------------------------------+ public_key (Determined from data, 8-bit tag) ******************************************** Ed25519 (tag 0) =============== +--------------------+----------+------------------------+ | Name | Size | Contents | +====================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------+------------------------+ | Ed25519.Public_key | 32 bytes | bytes | +--------------------+----------+------------------------+ Secp256k1 (tag 1) ================= +----------------------+----------+------------------------+ | Name | Size | Contents | +======================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +----------------------+----------+------------------------+ | Secp256k1.Public_key | 33 bytes | bytes | +----------------------+----------+------------------------+ P256 (tag 2) ============ +-----------------+----------+------------------------+ | Name | Size | Contents | +=================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------+----------+------------------------+ | P256.Public_key | 33 bytes | bytes | +-----------------+----------+------------------------+ Bls (tag 3) =========== +----------------------+----------+------------------------+ | Name | Size | Contents | +======================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +----------------------+----------+------------------------+ | Bls12_381.Public_key | 48 bytes | bytes | +----------------------+----------+------------------------+ alpha.contract_id.originated (22 bytes, 8-bit tag) ************************************************** Originated (tag 1) ================== +---------------+----------+------------------------+ | Name | Size | Contents | +===============+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------+------------------------+ | Contract_hash | 20 bytes | bytes | +---------------+----------+------------------------+ | padding | 1 byte | padding | +---------------+----------+------------------------+ alpha.scripted.contracts ************************ +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | code | Variable | bytes | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | storage | Variable | bytes | +-----------------------+----------+------------------------------------+ alpha.entrypoint (Determined from data, 8-bit tag) ************************************************** default (tag 0) =============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ root (tag 1) ============ +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ do (tag 2) ========== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ set_delegate (tag 3) ==================== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ remove_delegate (tag 4) ======================= +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ deposit (tag 5) =============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ stake (tag 6) ============= +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ unstake (tag 7) =============== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ finalize_unstake (tag 8) ======================== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ set_delegate_parameters (tag 9) =============================== +------+--------+------------------------+ | Name | Size | Contents | +======+========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------+--------+------------------------+ named (tag 255) =============== +-----------------------+----------+------------------------+ | Name | Size | Contents | +=======================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------+ | # bytes in next field | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------+ | Unnamed field 0 | Variable | bytes | +-----------------------+----------+------------------------+ X_31 **** +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | entrypoint | Determined from data | $alpha.entrypoint | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | value | Variable | bytes | +-----------------------+----------------------+------------------------------------+ X_32 **** +-----------------+-----------+----------+ | Name | Size | Contents | +=================+===========+==========+ | Unnamed field 0 | 100 bytes | bytes | +-----------------+-----------+----------+ | Unnamed field 1 | 100 bytes | bytes | +-----------------+-----------+----------+ alpha.inlined.preattestation.contents (43 bytes, 8-bit tag) *********************************************************** Preattestation (tag 20) ======================= +--------------------+----------+------------------------------------+ | Name | Size | Contents | +====================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------+------------------------------------+ alpha.inlined.preattestation **************************** +------------+----------+----------------------------------------+ | Name | Size | Contents | +============+==========+========================================+ | branch | 32 bytes | bytes | +------------+----------+----------------------------------------+ | operations | 43 bytes | $alpha.inlined.preattestation.contents | +------------+----------+----------------------------------------+ | signature | Variable | bytes | +------------+----------+----------------------------------------+ fitness.elem ************ +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | bytes | +-----------------------+----------+------------------------------------+ alpha.block_header.alpha.full_header ************************************ +---------------------------------------+----------+-------------------------------------+ | Name | Size | Contents | +=======================================+==========+=====================================+ | level | 4 bytes | signed 32-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | proto | 1 byte | unsigned 8-bit integer | +---------------------------------------+----------+-------------------------------------+ | predecessor | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | timestamp | 8 bytes | signed 64-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | validation_pass | 1 byte | unsigned 8-bit integer | +---------------------------------------+----------+-------------------------------------+ | operations_hash | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | # bytes in field "fitness" | 4 bytes | unsigned 30-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | fitness | Variable | sequence of $fitness.elem | +---------------------------------------+----------+-------------------------------------+ | context | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | payload_hash | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | payload_round | 4 bytes | signed 32-bit big-endian integer | +---------------------------------------+----------+-------------------------------------+ | proof_of_work_nonce | 8 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | ? presence of field "seed_nonce_hash" | 1 byte | boolean (0 for false, 255 for true) | +---------------------------------------+----------+-------------------------------------+ | seed_nonce_hash | 32 bytes | bytes | +---------------------------------------+----------+-------------------------------------+ | per_block_votes | 1 byte | $alpha.per_block_votes | +---------------------------------------+----------+-------------------------------------+ | signature | Variable | bytes | +---------------------------------------+----------+-------------------------------------+ alpha.inlined.attestation_mempool.contents (Determined from data, 8-bit tag) **************************************************************************** Attestation (tag 21) ==================== +--------------------+----------+------------------------------------+ | Name | Size | Contents | +====================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------+------------------------------------+ Attestation_with_dal (tag 23) ============================= +--------------------+----------------------+------------------------------------+ | Name | Size | Contents | +====================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------------------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------------------+------------------------------------+ | dal_attestation | Determined from data | $Z.t | +--------------------+----------------------+------------------------------------+ alpha.inlined.attestation ************************* +------------+----------------------+---------------------------------------------+ | Name | Size | Contents | +============+======================+=============================================+ | branch | 32 bytes | bytes | +------------+----------------------+---------------------------------------------+ | operations | Determined from data | $alpha.inlined.attestation_mempool.contents | +------------+----------------------+---------------------------------------------+ | signature | Variable | bytes | +------------+----------------------+---------------------------------------------+ alpha.operation.alpha.contents_or_signature_prefix (Determined from data, 8-bit tag) ************************************************************************************ Seed_nonce_revelation (tag 1) ============================= +-------+----------+----------------------------------+ | Name | Size | Contents | +=======+==========+==================================+ | Tag | 1 byte | unsigned 8-bit integer | +-------+----------+----------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +-------+----------+----------------------------------+ | nonce | 32 bytes | bytes | +-------+----------+----------------------------------+ Double_attestation_evidence (tag 2) =================================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | op1 | Variable | $alpha.inlined.attestation | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | op2 | Variable | $alpha.inlined.attestation | +-----------------------+----------+------------------------------------+ Double_baking_evidence (tag 3) ============================== +-----------------------+----------+---------------------------------------+ | Name | Size | Contents | +=======================+==========+=======================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+---------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+---------------------------------------+ | bh1 | Variable | $alpha.block_header.alpha.full_header | +-----------------------+----------+---------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+---------------------------------------+ | bh2 | Variable | $alpha.block_header.alpha.full_header | +-----------------------+----------+---------------------------------------+ Activate_account (tag 4) ======================== +--------+----------+------------------------+ | Name | Size | Contents | +========+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +--------+----------+------------------------+ | pkh | 20 bytes | bytes | +--------+----------+------------------------+ | secret | 20 bytes | bytes | +--------+----------+------------------------+ Proposals (tag 5) ================= +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------+------------------------------------+ | period | 4 bytes | signed 32-bit big-endian integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | proposals | Variable | sequence of at most 20 bytes | +-----------------------+----------+------------------------------------+ Ballot (tag 6) ============== +----------+----------+----------------------------------+ | Name | Size | Contents | +==========+==========+==================================+ | Tag | 1 byte | unsigned 8-bit integer | +----------+----------+----------------------------------+ | source | 21 bytes | $public_key_hash | +----------+----------+----------------------------------+ | period | 4 bytes | signed 32-bit big-endian integer | +----------+----------+----------------------------------+ | proposal | 32 bytes | bytes | +----------+----------+----------------------------------+ | ballot | 1 byte | signed 8-bit integer | +----------+----------+----------------------------------+ Double_preattestation_evidence (tag 7) ====================================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | op1 | Variable | $alpha.inlined.preattestation | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | op2 | Variable | $alpha.inlined.preattestation | +-----------------------+----------+------------------------------------+ Vdf_revelation (tag 8) ====================== +----------+-----------+------------------------+ | Name | Size | Contents | +==========+===========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +----------+-----------+------------------------+ | solution | 200 bytes | $X_32 | +----------+-----------+------------------------+ Drain_delegate (tag 9) ====================== +---------------+----------+------------------------+ | Name | Size | Contents | +===============+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------+------------------------+ | consensus_key | 21 bytes | $public_key_hash | +---------------+----------+------------------------+ | delegate | 21 bytes | $public_key_hash | +---------------+----------+------------------------+ | destination | 21 bytes | $public_key_hash | +---------------+----------+------------------------+ Failing_noop (tag 17) ===================== +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | arbitrary | Variable | bytes | +-----------------------+----------+------------------------------------+ Preattestation (tag 20) ======================= +--------------------+----------+------------------------------------+ | Name | Size | Contents | +====================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------+------------------------------------+ Attestation (tag 21) ==================== +--------------------+----------+------------------------------------+ | Name | Size | Contents | +====================+==========+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------+------------------------------------+ Attestation_with_dal (tag 23) ============================= +--------------------+----------------------+------------------------------------+ | Name | Size | Contents | +====================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------+----------------------+------------------------------------+ | slot | 2 bytes | unsigned 16-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | level | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | round | 4 bytes | signed 32-bit big-endian integer | +--------------------+----------------------+------------------------------------+ | block_payload_hash | 32 bytes | bytes | +--------------------+----------------------+------------------------------------+ | dal_attestation | Determined from data | $Z.t | +--------------------+----------------------+------------------------------------+ Reveal (tag 107) ================ +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | public_key | Determined from data | $public_key | +---------------+----------------------+------------------------+ Transaction (tag 108) ===================== +----------------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +==================================+======================+=====================================+ | Tag | 1 byte | unsigned 8-bit integer | +----------------------------------+----------------------+-------------------------------------+ | source | 21 bytes | $public_key_hash | +----------------------------------+----------------------+-------------------------------------+ | fee | Determined from data | $N.t | +----------------------------------+----------------------+-------------------------------------+ | counter | Determined from data | $N.t | +----------------------------------+----------------------+-------------------------------------+ | gas_limit | Determined from data | $N.t | +----------------------------------+----------------------+-------------------------------------+ | storage_limit | Determined from data | $N.t | +----------------------------------+----------------------+-------------------------------------+ | amount | Determined from data | $N.t | +----------------------------------+----------------------+-------------------------------------+ | destination | 22 bytes | $alpha.contract_id | +----------------------------------+----------------------+-------------------------------------+ | ? presence of field "parameters" | 1 byte | boolean (0 for false, 255 for true) | +----------------------------------+----------------------+-------------------------------------+ | parameters | Determined from data | $X_31 | +----------------------------------+----------------------+-------------------------------------+ Origination (tag 109) ===================== +--------------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +================================+======================+=====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------------------+----------------------+-------------------------------------+ | source | 21 bytes | $public_key_hash | +--------------------------------+----------------------+-------------------------------------+ | fee | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | counter | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | gas_limit | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | storage_limit | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | balance | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | ? presence of field "delegate" | 1 byte | boolean (0 for false, 255 for true) | +--------------------------------+----------------------+-------------------------------------+ | delegate | 21 bytes | $public_key_hash | +--------------------------------+----------------------+-------------------------------------+ | script | Determined from data | $alpha.scripted.contracts | +--------------------------------+----------------------+-------------------------------------+ Delegation (tag 110) ==================== +--------------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +================================+======================+=====================================+ | Tag | 1 byte | unsigned 8-bit integer | +--------------------------------+----------------------+-------------------------------------+ | source | 21 bytes | $public_key_hash | +--------------------------------+----------------------+-------------------------------------+ | fee | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | counter | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | gas_limit | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | storage_limit | Determined from data | $N.t | +--------------------------------+----------------------+-------------------------------------+ | ? presence of field "delegate" | 1 byte | boolean (0 for false, 255 for true) | +--------------------------------+----------------------+-------------------------------------+ | delegate | 21 bytes | $public_key_hash | +--------------------------------+----------------------+-------------------------------------+ Register_global_constant (tag 111) ================================== +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | value | Variable | bytes | +-----------------------+----------------------+------------------------------------+ Set_deposits_limit (tag 112) ============================ +-----------------------------+----------------------+-------------------------------------+ | Name | Size | Contents | +=============================+======================+=====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------------+----------------------+-------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------------+----------------------+-------------------------------------+ | fee | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ | counter | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ | ? presence of field "limit" | 1 byte | boolean (0 for false, 255 for true) | +-----------------------------+----------------------+-------------------------------------+ | limit | Determined from data | $N.t | +-----------------------------+----------------------+-------------------------------------+ Increase_paid_storage (tag 113) =============================== +---------------+----------------------+-------------------------------+ | Name | Size | Contents | +===============+======================+===============================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+-------------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+-------------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+-------------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+-------------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+-------------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+-------------------------------+ | amount | Determined from data | $Z.t | +---------------+----------------------+-------------------------------+ | destination | 22 bytes | $alpha.contract_id.originated | +---------------+----------------------+-------------------------------+ Update_consensus_key (tag 114) ============================== +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | pk | Determined from data | $public_key | +---------------+----------------------+------------------------+ Host (tag 115) ============== +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | guest | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | guest_signature | Variable | bytes | +-----------------------+----------------------+------------------------------------+ Transfer_ticket (tag 158) ========================= +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | ticket_contents | Variable | bytes | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | ticket_ty | Variable | bytes | +-----------------------+----------------------+------------------------------------+ | ticket_ticketer | 22 bytes | $alpha.contract_id | +-----------------------+----------------------+------------------------------------+ | ticket_amount | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | destination | 22 bytes | $alpha.contract_id | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | entrypoint | Variable | bytes | +-----------------------+----------------------+------------------------------------+ Smart_rollup_originate (tag 200) ================================ +---------------------------------+----------------------+-----------------------------------------------------------+ | Name | Size | Contents | +=================================+======================+===========================================================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------------------------+----------------------+-----------------------------------------------------------+ | source | 21 bytes | $public_key_hash | +---------------------------------+----------------------+-----------------------------------------------------------+ | fee | Determined from data | $N.t | +---------------------------------+----------------------+-----------------------------------------------------------+ | counter | Determined from data | $N.t | +---------------------------------+----------------------+-----------------------------------------------------------+ | gas_limit | Determined from data | $N.t | +---------------------------------+----------------------+-----------------------------------------------------------+ | storage_limit | Determined from data | $N.t | +---------------------------------+----------------------+-----------------------------------------------------------+ | pvm_kind | 1 byte | unsigned 8-bit integer encoding an enumeration (see X_29) | +---------------------------------+----------------------+-----------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +---------------------------------+----------------------+-----------------------------------------------------------+ | kernel | Variable | bytes | +---------------------------------+----------------------+-----------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +---------------------------------+----------------------+-----------------------------------------------------------+ | parameters_ty | Variable | bytes | +---------------------------------+----------------------+-----------------------------------------------------------+ | ? presence of field "whitelist" | 1 byte | boolean (0 for false, 255 for true) | +---------------------------------+----------------------+-----------------------------------------------------------+ | whitelist | Determined from data | $X_30 | +---------------------------------+----------------------+-----------------------------------------------------------+ Smart_rollup_add_messages (tag 201) =================================== +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | message | Variable | sequence of $X_4 | +-----------------------+----------------------+------------------------------------+ Smart_rollup_cement (tag 202) ============================= +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ Smart_rollup_publish (tag 203) ============================== +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ | commitment | 76 bytes | $X_27 | +---------------+----------------------+------------------------+ Smart_rollup_refute (tag 204) ============================= +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ | opponent | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | refutation | Determined from data | $X_26 | +---------------+----------------------+------------------------+ Smart_rollup_timeout (tag 205) ============================== +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ | stakers | 42 bytes | $X_20 | +---------------+----------------------+------------------------+ Smart_rollup_execute_outbox_message (tag 206) ============================================= +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | rollup | 20 bytes | bytes | +-----------------------+----------------------+------------------------------------+ | cemented_commitment | 32 bytes | bytes | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | output_proof | Variable | bytes | +-----------------------+----------------------+------------------------------------+ Smart_rollup_recover_bond (tag 207) =================================== +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ | staker | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ Dal_publish_commitment (tag 230) ================================ +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | slot_header | 145 bytes | $X_19 | +---------------+----------------------+------------------------+ Zk_rollup_origination (tag 250) =============================== +-----------------------+----------------------+-------------------------------------------------------------------------+ | Name | Size | Contents | +=======================+======================+=========================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+-------------------------------------------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+-------------------------------------------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+-------------------------------------------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+-------------------------------------------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+-------------------------------------------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+-------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+-------------------------------------------------------------------------+ | public_parameters | Variable | bytes | +-----------------------+----------------------+-------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+-------------------------------------------------------------------------+ | circuits_info | Variable | sequence of $X_16 | +-----------------------+----------------------+-------------------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+-------------------------------------------------------------------------+ | init_state | Variable | sequence of bytes | +-----------------------+----------------------+-------------------------------------------------------------------------+ | nb_ops | 4 bytes | signed 31-bit big-endian integer in the range -1073741824 to 1073741823 | +-----------------------+----------------------+-------------------------------------------------------------------------+ Zk_rollup_publish (tag 251) =========================== +-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | Tag | 1 byte | unsigned 8-bit integer | +-----------------------+----------------------+------------------------------------+ | source | 21 bytes | $public_key_hash | +-----------------------+----------------------+------------------------------------+ | fee | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | counter | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | gas_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | storage_limit | Determined from data | $N.t | +-----------------------+----------------------+------------------------------------+ | zk_rollup | 20 bytes | bytes | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | op | Variable | sequence of $X_10 | +-----------------------+----------------------+------------------------------------+ Zk_rollup_update (tag 252) ========================== +---------------+----------------------+------------------------+ | Name | Size | Contents | +===============+======================+========================+ | Tag | 1 byte | unsigned 8-bit integer | +---------------+----------------------+------------------------+ | source | 21 bytes | $public_key_hash | +---------------+----------------------+------------------------+ | fee | Determined from data | $N.t | +---------------+----------------------+------------------------+ | counter | Determined from data | $N.t | +---------------+----------------------+------------------------+ | gas_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | storage_limit | Determined from data | $N.t | +---------------+----------------------+------------------------+ | zk_rollup | 20 bytes | bytes | +---------------+----------------------+------------------------+ | update | Determined from data | $X_2 | +---------------+----------------------+------------------------+ Signature_prefix (tag 255) ========================== +------------------+----------+------------------------+ | Name | Size | Contents | +==================+==========+========================+ | Tag | 1 byte | unsigned 8-bit integer | +------------------+----------+------------------------+ | signature_prefix | 33 bytes | $bls_signature_prefix | +------------------+----------+------------------------+ X_33 (Determined from data, 8-bit tag) ************************************** operation_data_encoding (tag 0) =============================== +-------------------------------+----------+-----------------------------------------------------------------+ | Name | Size | Contents | +===============================+==========+=================================================================+ | Tag | 1 byte | unsigned 8-bit integer | +-------------------------------+----------+-----------------------------------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-------------------------------+----------+-----------------------------------------------------------------+ | branch | 32 bytes | bytes | +-------------------------------+----------+-----------------------------------------------------------------+ | # bytes in next 2 fields | 4 bytes | unsigned 30-bit big-endian integer | +-------------------------------+----------+-----------------------------------------------------------------+ | contents_and_signature_prefix | Variable | sequence of $alpha.operation.alpha.contents_or_signature_prefix | +-------------------------------+----------+-----------------------------------------------------------------+ | signature_suffix | 64 bytes | bytes | +-------------------------------+----------+-----------------------------------------------------------------+ X_1 *** +--------------------------+----------+------------------------------------+ | Name | Size | Contents | +==========================+==========+====================================+ | # bytes in next 2 fields | 4 bytes | unsigned 30-bit big-endian integer | +--------------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +--------------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | sequence of $X_33 | +--------------------------+----------+------------------------------------+
{ "shell_header": $block_header.shell, "operations": [ { "applied": [ { /* An operation. The shell_header part indicates a block an operation is meant to apply on top of. The proto part is protocol-specific and appears as a binary blob. */ "hash": $Operation_hash, "branch": $block_hash, "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/ } ... ], "refused": [ { /* An operation. The shell_header part indicates a block an operation is meant to apply on top of. The proto part is protocol-specific and appears as a binary blob. */ "hash": $Operation_hash, "branch": $block_hash, "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "error": $error } ... ], "outdated": [ { /* An operation. The shell_header part indicates a block an operation is meant to apply on top of. The proto part is protocol-specific and appears as a binary blob. */ "hash": $Operation_hash, "branch": $block_hash, "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "error": $error } ... ], "branch_refused": [ { /* An operation. The shell_header part indicates a block an operation is meant to apply on top of. The proto part is protocol-specific and appears as a binary blob. */ "hash": $Operation_hash, "branch": $block_hash, "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "error": $error } ... ], "branch_delayed": [ { /* An operation. The shell_header part indicates a block an operation is meant to apply on top of. The proto part is protocol-specific and appears as a binary blob. */ "hash": $Operation_hash, "branch": $block_hash, "data": /^([a-zA-Z0-9][a-zA-Z0-9])*$/, "error": $error } ... ] } ... ] } $Context_hash: /* A hash of context (Base58Check-encoded) */ $unistring $Operation_hash: /* A Tezos operation ID (Base58Check-encoded) */ $unistring $Operation_list_list_hash: /* A list of list of operations (Base58Check-encoded) */ $unistring $block_hash: /* A block identifier (Base58Check-encoded) */ $unistring $block_header.shell: /* Shell header Block header's shell-related content. It contains information such as the block level, its predecessor and timestamp. */ { "level": integer ∈ [-2^31-1, 2^31], "proto": integer ∈ [0, 255], "predecessor": $block_hash, "timestamp": $timestamp.protocol, "validation_pass": integer ∈ [0, 255], "operations_hash": $Operation_list_list_hash, "fitness": $fitness, "context": $Context_hash } $error: /* The full list of errors is available with the global RPC `GET errors` */ any $fitness: /* Block fitness The fitness, or score, of a block, that allow the Tezos to decide which chain is the best. A fitness value is a list of byte sequences. They are compared as follows: shortest lists are smaller; lists of the same length are compared according to the lexicographical order. */ [ /^([a-zA-Z0-9][a-zA-Z0-9])*$/ ... ] $timestamp.protocol: /* A timestamp as seen by the protocol: second-level precision, epoch based. */ $unistring $unistring: /* Universal string representation Either a plain UTF8 string, or a sequence of bytes for strings that contain invalid byte sequences. */ string || { "invalid_utf8_string": [ integer ∈ [0, 255] ... ] }
+-----------------------+----------------------+------------------------------------+ | Name | Size | Contents | +=======================+======================+====================================+ | shell_header | Determined from data | $block_header.shell | +-----------------------+----------------------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------------------+------------------------------------+ | operations | Variable | sequence of $X_0 | +-----------------------+----------------------+------------------------------------+ fitness.elem ************ +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | Unnamed field 0 | Variable | bytes | +-----------------------+----------+------------------------------------+ block_header.shell ****************** +----------------------------+----------+------------------------------------+ | Name | Size | Contents | +============================+==========+====================================+ | level | 4 bytes | signed 32-bit big-endian integer | +----------------------------+----------+------------------------------------+ | proto | 1 byte | unsigned 8-bit integer | +----------------------------+----------+------------------------------------+ | predecessor | 32 bytes | bytes | +----------------------------+----------+------------------------------------+ | timestamp | 8 bytes | signed 64-bit big-endian integer | +----------------------------+----------+------------------------------------+ | validation_pass | 1 byte | unsigned 8-bit integer | +----------------------------+----------+------------------------------------+ | operations_hash | 32 bytes | bytes | +----------------------------+----------+------------------------------------+ | # bytes in field "fitness" | 4 bytes | unsigned 30-bit big-endian 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 big-endian integer | +--------------------------+----------+------------------------------------+ | branch | 32 bytes | bytes | +--------------------------+----------+------------------------------------+ | data | Variable | bytes | +--------------------------+----------+------------------------------------+ X_2 *** +--------------------------+----------+------------------------------------+ | Name | Size | Contents | +==========================+==========+====================================+ | hash | 32 bytes | bytes | +--------------------------+----------+------------------------------------+ | # bytes in next 2 fields | 4 bytes | unsigned 30-bit big-endian integer | +--------------------------+----------+------------------------------------+ | branch | 32 bytes | bytes | +--------------------------+----------+------------------------------------+ | data | Variable | bytes | +--------------------------+----------+------------------------------------+ | # bytes in field "error" | 4 bytes | unsigned 30-bit big-endian integer | +--------------------------+----------+------------------------------------+ | error | Variable | bytes | +--------------------------+----------+------------------------------------+ X_0 *** +-----------------------+----------+------------------------------------+ | Name | Size | Contents | +=======================+==========+====================================+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | applied | Variable | sequence of $X_1 | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | refused | Variable | sequence of $X_2 | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | outdated | Variable | sequence of $X_2 | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | branch_refused | Variable | sequence of $X_2 | +-----------------------+----------+------------------------------------+ | # bytes in next field | 4 bytes | unsigned 30-bit big-endian integer | +-----------------------+----------+------------------------------------+ | branch_delayed | Variable | sequence of $X_2 | +-----------------------+----------+------------------------------------+